short playGame() { Board b; b.mask = 103481868288; b.owner = 68853694464;//34628173824; int activePlayer = 0; int playSkips = 0; while ( playSkips < 2 ) { if ( playerHasLegalMoves(b, activePlayer) ) { if ( activePlayer == 0 ) { b = makeRandomLegalMove(b, activePlayer); } else { b = makeBestMove(b, activePlayer); } activePlayer = 1 - activePlayer; playSkips = 0; } else { activePlayer = 1 - activePlayer; playSkips++; } } short winner = calculateWinner(b); return winner; }
//main function int main() { char turntracker='W'; initialize(arr); //a function called in beginning to initialize the chess pieces their required positions while(1) { process=0; printf("\n CHESS PLAYING ROBOT CONSOLE\n"); printf(" Indian Institute of Technology Kanpur\n\n"); display(arr); printf("\n"); //getmove merged here printf("\nMake your move [For ending game, type -1 and press enter]\t"); int initrow, initcol, finrow, fincol,temp; if(turntracker=='B') { process=0; getch(); printf("\n\t\tBlack's Turn. Move is played automatically:\n"); makeBestMove(arr,'B',1); turntracker='W'; } else if(turntracker=='W') { printf("\n\t\tWhite's Turn.:"); printf("\nFormat: InitialRow InitialColumn FinalRow FinalColumn\t" ); cin>>initrow; if(initrow==-1) exit(0); cin>>initcol>>finrow>>fincol; temp=isValidMove(initrow,initcol,finrow,fincol,arr,turntracker); if (temp==1) {makeMove(initrow,initcol,finrow,fincol,arr,turntracker); turntracker='B'; } else if(temp==0) printf("\n** INVALID MOVE ** Please try again.\n"); //loop iteration } }