I'm using return to close the whole program...
Here's the checkforwin function with the main again:
Code:
void checkforwin() //Checks if either team has won.
{
// X's win.
if( (square1==1 && square2==1 && square3==1) || (square4==1 && square5==1 && square6==1) || (square7==1 && square8==1 && square9==1) ) //Horizontal
wins.
{
printf("Tic Tac Toe! The X's win! X-cellent job! \n");
player1win = player1win + 1;
win = win + 1;
}
if( (square1==1 && square4==1 && square7==1) || (square2==1 && square5==1 && square8==1) || (square3==1 && square6==1 && square9==1) ) //Vertical
wins.
{
printf("Tic Tac Toe! The X's win! X-cellant job! \n");
player1win = player1win + 1;
win = win + 1;
}
if( (square1==1 && square5==1 && square9==1) || (square3==1 && square5==1 && square7==1) ) //Diagonal Wins.
{
printf("Tic Tac Toe! The X's win! X-cellant job! \n");
player1win = player1win + 1;
win = win + 1;
}
// O's win.
if( (square1==2 && square2==2 && square3==2) || (square4==2 && square5==2 && square6==2) || (square7==2 && square8==2 && square9==2) ) //Horizontal
wins.
{
printf("Tic Tac Toe! The O's win! Neat-O job! \n");
player2win = player2win + 1;
win = win + 1;
}
if( (square1==2 && square4==2 && square7==2) || (square2==2 && square5==2 && square8==2) || (square3==2 && square6==2 && square9==2) ) //Vertical
wins.
{
printf("Tic Tac Toe! The O's win! Neat-O job! \n");
player2win = player2win + 1;
win = win + 1;
}
if( (square1==2 && square5==2 && square9==2) || (square3==2 && square5==2 && square7==2) ) //Diagonal Wins
{
printf("Tic Tac Toe! The O's win! Neat-O job! \n");
player2win = player2win + 1;
win = win + 1;
}
// Cat's Game.
if ((square1 != 0 && square2 != 0) && (square3 != 0) && (square4 != 0) && (square5 != 0) && (square6 != 0) && (square7 != 0) && (square8 != 0) &&
(square9 != 0) && (win == 0))
{
printf("Cat's Game! X's and O's are tied! \n");
win = win + 1;
}
}
int main()
{
int gdriver = DETECT, gmode; //Determines graphics driver and mode to use.
initgraph(&gdriver, &gmode, " "); //Switches to graphics mode.
player1win = 0;
player2win = 0;
gamecount = 1;
for (game = 0; game <= 3; game = game + 1); //Tic Tac Toe is played 3 times.
{
win = 0;
square1 = 0;
square2 = 0;
square3 = 0;
square4 = 0;
square5 = 0;
square6 = 0;
square7 = 0;
square8 = 0;
square9 = 0;
board(300,80);
printf("\n \n \n \n \n \n \n");
printf("GAME %d \n", gamecount);
while (win < 1)
{
xmove();
checkforwin();
if (win < 1)
{
omove();
checkforwin();
}
}
}
getchar();
return(0);
}