void Filling(Mat board, const Coor &size, Figures &figures) { for (Figures::iterator it = figures.begin(); it != figures.end(); it++) board[it->ln][it->col] = it->val; for (Figures::iterator it = figures.begin(); it != figures.end(); it++) { if (it->val == -1) Knight(board, size, *it); else if (it->val == -2) Bishop(board, size, *it); else Rook(board, size, *it); } }
void CChessGUI::DrawPiece(CPiece piece) { gl::Piece pieceType = decodePiece(piece); switch(pieceType) { case gl::Rook: Rook(piece); break; case gl::Biship: Biship(piece); break; case gl::Knight: Knight(piece); break; case gl::King: King(piece); break; case gl::Queen: Queen(piece); break; case gl::Pawn: Pawn(piece); break; }; //for now, just draw squares /* GLfloat glX1 = tileNumber.x*.09375+.125+.03; GLfloat glY1 = tileNumber.y*.09375+.125+.03; GLfloat glX2 = tileNumber.x*.09375+.125+.09375-.03; GLfloat glY2 = tileNumber.y*.09375+.125+.09375-.03; glColor3f(200, 10, 0); glBegin(GL_QUADS); glVertex2f(glX1,glY1); glVertex2f(glX2,glY1); glVertex2f(glX2,glY2); glVertex2f(glX1,glY2); glEnd();*/ }
void Play() { CurrentBoardPosition=-1; MoveClassification=0; MoveAlreadyMadeFlag=0; Error=0; PieceError=0; if(MoveCycleNumber==1) { WhitePawnEnPassantFlag=0; BlackPawnEnPassantFlag=0; } while(Error==0) { PlayInputTranslate(); Castle(); Whitepawn(); ErrorSignal(); CHECKERROR BlackPawn(); ErrorSignal(); CHECKERROR PawnToQueen(); Rook(); ErrorSignal(); CHECKERROR Knight(); ErrorSignal(); CHECKERROR Bishop(); ErrorSignal(); CHECKERROR Queen(); ErrorSignal(); CHECKERROR King(); ErrorSignal(); CHECKERROR Etc(); ErrorSignal(); break; } }