读书人

一个游戏的代码.该怎么处理

发布时间: 2012-09-10 11:02:32 作者: rapoo

一个游戏的代码..
#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);


}



我需要的结果是每次都实时显示棋盘的情况 最后结束的时候显示棋盘的状况 然后输出语句

总是得不到想要的结果 那些判断胜负的语句基本都作废了.. 求各位帮帮忙!






[解决办法]
这种问题需要靠自己解决,否则不会进步的!

你只要耐心调试就会找到原因的。

读书人网 >C语言

热点推荐