Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
//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
}  

}