Chess Game
1.1.0
A full chess game for Unity
|
CcgBoard | The chess board, here moves are generated, checked for legality, performed and reverted. |
CcgBoardGeneratorEditor | This script lets you create custom boards in the editor. You should consider saving the generated board as prefab and make whatever changes(moving stuff around etc., |
CcgBoardGeneratorScript | |
CcgCastlingMove | Castling moves the king and a rook, this class has additional properties to handle this additional information. |
CcgChessBoardScript | The script attached to the chessboard prefab, should have gameobjects with squarescripts, this class: verifies if the player can drag and drop pieces, handles whether or not the engine should make move, checks whether or not the game is over(and if so shows the game over prefab), flips the board, resets the board etc. |
CcgChessPieceScript | This script controls the piece on the board, it alters graphics according to promotions/reverts and registers mouse down and mouse up events for dragging purposes |
CcgCustomBoardSettings | This class is used for irregular boards( board != 8x8 ), to place pieces accordingly at the top and bottom of the baord. |
CcgEngine | The AI Opponent |
CcgEnPassantMove | Most people probably have no clue what this 'En Passant' move is - if you don't then google it, its a legal pawn move in chess, in which a pawn captures a pawn next to it that has just performed its double move, while move diagonally forward. |
CcgGameOverScript | This is the game over script attached to the game over prefab, it shows a simple text and a few buttons to take the player back to a new game or the menu. |
CcgMenuScript | This is the main menu script attached to the main menu prefab, it has a few buttons, check boxes and a slider to control game mode and difficulty. |
CcgMoveGenerator | We generate all possible moves(regardless of blocking) for all pieces once here. This technique saves a huge amount of computation for the Engine, as it only has to look up these moves and test their legality on a given board - instead of actually generating them each time a move is performed. |
CcgMoveSet | Stores information about all possible moves a piece can make on a given index position on the board. |
CcgNotation | Reads / writes game notation. Supports algebraic and coordinate notations. |
CcgSimpleMove | A simple non-passant and non-castling move, stores information such as the index of the departing square and the index of the arriving square. |
CcgSquareScript | The square script should be attached to a gameobject, there should be 64, they should be placed and named according to where on the board theyre located |
CcgValueModifiers | The following values dictate the playing and searching style of the engine greatly. |