计算机怎么模拟对弈,一担挑游戏 简单计算机模拟棋盘对弈。其中棋盘左上角坐标为(1,1),右下角坐标为(3,3)。游戏规则如下:(1)计算机移动时,使用相应函数扫描棋盘矩阵,寻找未占单元,发现空单...

#includevoid main()

{

int t,n,row,num,q=0,b,i,winner=0,j;

char a[3][3]={'1','2','3','4','5','6','7','8','9'};

printf("******************************************************\n");

printf("******************欢迎进入一担挑游戏******************\n");

printf("******************************************************\n");

printf("\n");

printf("进入游戏请按1,结束游戏请按0\n");

scanf("%d",&t);

while(t)

{

for(i=0;i<9&&winner==0;i++)

{

b=q%2+1;

printf(" %c | %c | %c\n",a[0][0],a[0][1],a[0][2]);

printf("---+---+---\n");

printf(" %c | %c | %c\n",a[1][0],a[1][1],a[1][2]);

printf("---+---+---\n");

printf(" %c | %c | %c\n",a[2][0],a[2][1],a[2][2]);

printf("玩家%d请选择\n",b);

q++;

scanf("%d",&n);

while(n<1||n>9)

{

printf("选择错误!无该位置.请重新选择\n");

scanf("%d",&n);

}

row=n/3;

num=n%3-1;

while(a[row][num]=='o'||a[row][num]=='x')

{

printf("选择错误!该位置已经被选择过.请重新选择\n");

scanf("%d",&n);

row=n/3;

num=n%3-1;

}

while(n<1||n>9)

{

printf("选择错误!无该位置.请重新选择\n");

scanf("%d",&n);

}

row=n/3;

num=n%3-1;

if(b==1)a[row][num]='o'; /*判断是否已经有玩家胜出*/

else a[row][num]='x';

if((a[0][0]==a[1][1]&&a[1][1]==a[2][2]&&a[0][0]=='o')||(a[0][2]==a[1][1]&&a[1][1]==a[2][0]&&a[0][2]=='o'))

winner=1;

else if((a[0][0]==a[1][1]&&a[1][1]==a[2][2]&&a[0][0]=='x')||(a[0][2]==a[1][1]&&a[1][1]==a[2][0]&&a[0][2]=='x'))

winner=2;

for(j=0;j<3;j++)

{

if((a[j][0]==a[j][1]&&a[j][1]==a[j][2]&&a[j][0]=='o')||(a[0][j]==a[1][j]&&a[1][j]==a[2][j]&a[0][j]=='o'))

winner=1;

else if((a[j][0]==a[j][1]&&a[j][1]==a[j][2]&&a[j][0]=='x')||(a[0][j]==a[1][j]&&a[1][j]==a[2][j]&a[0][j]=='x'))

winner=2;

}

}

if(winner!=0)printf("player%d胜利!\n",winner);

else printf("平局!\n");

printf("继续游戏请按1,结束游戏请按0\n");

scanf("%d",&t);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值