I have to make a tic tac toe program and I am struggling. This is the function that I have currently. This function is suppose to determine if there is a winner or a Cats game. With this function, my program places a X or an O wherever the user has typed they want it. (This works) but it only runs once and that is where I am struggling. I need it to run until it finds a winner or if it a Cats game. Any help would be appreciated.
Code:
int checkForWin(int *piece, char *letter){
int r,c;
char board[3][3]={{'1','2','3'},
{'4','5','6'},
{'7','8','9'}};
if (&*letter=='x' || &*letter=='X')
{
printf("\nYou are player X.\n\n");
}
else printf("\nYou are player O.\n\n");
if ((&*letter=='x' || &*letter=='X') && &*piece==1)
{
board[0][0]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==2)
{
board[0][1]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==3)
{
board[0][2]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==4)
{
board[1][0]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==5)
{
board[1][1]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==6)
{
board[1][2]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==7)
{
board[2][0]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==8)
{
board[2][1]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='x' || &*letter=='X') && &*piece==9)
{
board[2][2]='X';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==1)
{
board[0][0]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==2)
{
board[0][1]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==3)
{
board[0][2]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==4)
{
board[1][0]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==5)
{
board[1][1]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==6)
{
board[1][2]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==7)
{
board[2][0]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==8)
{
board[2][1]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
if ((&*letter=='o' || &*letter=='O') && &*piece==9)
{
board[2][2]='O';
for (r=0;r<3;r++)
{
for (c=0;c<3;c++)
{
printf("%c ",board[r][c]);
}
if (r==0 || r==1)
{
printf("\n");
}
}
}
return 0;
}