一个游戏的代码..
#include <stdio.h>
int main(void){
int i=0;
int player=0;
int winner=0;
int choice ;
int y;
int x;
int line;
char board[3][3] ={
{ '1','2','3' },
{ '4','5','6' },
{ '7','8','9' }
};
for( i = 0;i<9&&winner==0;i++){
printf ("%C | %C | %C\n",board[0][0],board[0][1],board[0][2]);
printf ("--+---+---\n");
printf ("%C | %C | %C\n",board[1][0],board[1][1],board[1][2]);
printf ("--+---+---\n");
printf ("%C | %C | %C\n",board[2][0],board[2][1],board[2][2]);
player =i%2 + 1;
do{
printf("player %d,where you want to place your choice ",player);
scanf("%d",&choice);
y = (choice - 1)/3 ;
x = (choice - 1)%3 ;
}while( choice<0||choice>9||board[y][x]>'9');
board[y][x] = (player==1)? 'x' : 'o';
if((board[0][0]==board[1][1]&&board[0][0]==board[2][2])||
(board[0][2]==board[1][1]&&board[0][2]==board[2][0]))
winner=player;
else
for(line = 0;line<=2;line++)
if((board[line][0]==board[line][1] && board[line][0]==board[line][2])||
(board[0][line]==board[1][line]&&board[0][line]==board[2][line]))
winner=player;
}
printf("\n\n");
printf ("%C | %C | %C\n",board[0][0],board[0][1],board[0][2]);
printf ("--+---+---\n");
printf ("%C | %C | %C\n",board[1][0],board[1][1],board[1][2]);
printf ("--+---+---\n");
printf ("%C | %C | %C\n",board[2][0],board[2][1],board[2][2]);
if(winner==0)
printf("it is a draw game\n");
else
printf("player %d,You are the winner",player);
}
我需要的结果是每次都实时显示棋盘的情况 最后结束的时候显示棋盘的状况 然后输出语句
总是得不到想要的结果 那些判断胜负的语句基本都作废了.. 求各位帮帮忙!
[解决办法]
这种问题需要靠自己解决,否则不会进步的!
你只要耐心调试就会找到原因的。