小蜜蜂游戏c语言,C语言实现井字棋小游戏

#include

#include

int store[]={'_','_','_','_','_','_','_','_','_'}, shunt=1, count, i;

void print_map()

{

char boundary='|';

getchar();

system("cls");

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

{

printf("%c%c",boundary,store[i]);

if(i==2||i==5)

{

putchar(boundary);

putchar('\n');

}

}

putchar(boundary);

putchar('\n');

}

int judge_win(int f=0)

{

if(store[0]+store[1]+store[2]==3*'O'||store[0]+store[1]+store[2]==3*'X'||

store[3]+store[4]+store[5]==3*'O'||store[3]+store[4]+store[5]==3*'X'||

store[6]+store[7]+store[8]==3*'O'||store[6]+store[7]+store[8]==3*'X'||

store[0]+store[3]+store[6]==3*'O'||store[0]+store[3]+store[6]==3*'X'||

store[1]+store[4]+store[7]==3*'O'||store[1]+store[4]+store[7]==3*'X'||

store[2]+store[5]+store[8]==3*'O'||store[2]+store[5]+store[8]==3*'X'||

store[0]+store[4]+store[8]==3*'O'||store[0]+store[4]+store[8]==3*'X'||

store[2]+store[4]+store[6]==3*'O'||store[2]+store[4]+store[6]==3*'X')

f=1;

return f;

}

void judge_final()

{

if(count%2==0) printf("二号选手获胜\n");

else printf("一号选手获胜\n");

}

int number_mend(int number)

{

switch(number)

{

case 1:number=7;break;

case 2:number=8;break;

case 3:number=9;break;

case 7:number=1;break;

case 8:number=2;break;

case 9:number=3;break;

default:;

}

return number;

}

void scan_number()

{

int a, b, number;

scanf("%d",&number);

number=number_mend(number);

while(number<1||number>9||store[number-1]!='_')

{

printf("非法输入,请重新输入\n");

getchar();

scanf("%d",&number);

number=number_mend(number);

}

if(shunt%2!=0)

{

a=number;

store[a-1]='O';

print_map();

shunt++;

}

else

{

b=number;

store[b-1]='X';

print_map();

shunt++;

}

}

void renew()

{

for(;i>=0;i--)

store[i]='_';

}

int main()

{

char turn;

printf("这是一个井字棋游戏,小键盘1到9对应九个格。按回车开始游戏\n");

for(turn='y';turn=='y';turn=getchar(),renew())

{

print_map();

for(count=0;count<10;count++)

{

if(judge_win())break;

if(count==9)

{

printf("平局\n");

goto lp;

}

scan_number();

}

judge_final();

lp:printf("是否继续?y/n\n");

}

printf("游戏结束\n");

return 0;

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值