Skip to content

A fully-functional chess game in C++ utilizing MVC architecture, smart pointers, and object oriented programming.

Notifications You must be signed in to change notification settings

aydin-ali/Chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

176 Commits
 
 
 
 
 
 
 
 

Repository files navigation

I. About

Fully functional chess program supporting the following features:

  • All standard chess moves, checks, checkmates, pawn promotion, en passant, castling... etc.
  • Both a text and a graphical interface.
  • 3 game modes (human vs. human, human vs. computer, computer vs. computer)
    • and the following levels of computer difficulty:
      • level 1: random moves.
      • level 2: preference for placing the opposing king in check/checkmate and capturing pieces.
      • level 3: all of the above + a preference for avoiding capture (incomplete)
  • A 'setup' mode, enabling players to manually place pieces at positions across the board
  • Memory management handled via STD containers + smart pointers

II. Technical Details

  • Object Oriented Programming
  • MVC
  • Observer pattern (pub-sub)

UML: UML

III. Execution and Dependencies

Requires: C++ 14 and X11.

Build and run:

make
./chess

About

A fully-functional chess game in C++ utilizing MVC architecture, smart pointers, and object oriented programming.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •