I'm working on refactoring the code right now - there is a lot of very scary coupling between classes for which there should be no coupling. There's also the frightful Application::ChangeState which imply destroyed its current state without even checking to see if it could successfully construct the new state. I'm happy to report that I'm doing my best to fix what I know is incorrect, but f course I want input in case I am making something worse.
Thumper and I want to transfer naraku9333's ChessPlusPlus repository to the cpluspluscom organization. This will properly move references for forked projects and will update remotes for those using GitHub for Windows/Mac, but those using the shell will need to update remotes manually.
the little guys are pawns they move 1 space forward at a time and turn into a queen or any other piece when they get to the end, they take other pieces diagonaly only and can move two spaces at the start.
knights can move threespaces in any direction followed by landing on either adjacant side(think of an L three along one ^,v if moving horizontaly,< or > if moving vertiacally) they are also the only piece that can hop over pieces( if the landing space is free)
rooks are the castles they can move any length horizontaly or verticaly, bishops the diagonal equivalent, the queen, the most powerful piece on the board can do what both the rook and the bishop can!
the king can only move one space at a time in any direction, you cannot move if a piece could take the king in the next go, you have to rectify the situation so that he would not be taken, if that is impossible that is checkmate( if hes just threatended its only check)
two less known special moves are...
the kinng can switch with a rook if theres free space between the rook and the king, its sometimes called casteling, they dont quite swap places they meet in the middle and swap.
pawns can take one space infront and diagonal on the condition the piece they are threatening is just behind the halfway point, they can only do this from their start point, I forget what this is called but most chess games forget to put this official move in a lot more often than castleing.