ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:16.95KB ,
资源ID:19291739      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19291739.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言版井字棋Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言版井字棋Word格式.docx

1、/清空之前的选择框int Judge(int choice,char symbol);/判断输赢 返回值0为无结果,1为获胜,2为平局int Funcx(int choice);/将标号转换为行号int Funcy(int choice);/将标号转换为列号void End(char symbol);/结束int Found();/返回第一个没有棋子的位置的编号char a3164;/用数组存放棋盘和棋子,a行列int b=0;/棋子个数int main() char player; int choice; system(title 井字棋);/设置标题mode con cols=64 lin

2、es=35/设置窗口大小color 70/设置颜色 while(1) printf(nnnnnnttt井t字t棋nnnnnnnnttt1. 玩 家 先 手nnttt2. 电 脑 先 手nnttt3. 帮 助nnttt4. 退 出nnnnntt请输入: player=getch(); if(player=1) Init(); Block(5); choice=5; Play(player,choice); else if(player=23 Help(); getch(); system(cls continue;4 return 0; else printf(nntt 输入错误请重新输入! S

3、leep(1000); return 0;void Help() printf(nnnnnnnnnttt 帮助nnnt W上移, S下移, A左移, D右移 nntt 游戏中按退出nnnntt 按任意键退出int Play(char player,int choice)/对弈 char get; char symbol; int c=0;/Judge得出的结果 system(/每次循环清屏一次 Display();)/玩家下棋 while(1)/确定要下的位置 if(get=getch()!= if(get=) system( return 0; else if( (get=w|get=) &

4、choice-3=1) Clear(choice); choice =choice-3; else if(get=s)&choice+3=9) choice = choice+3;a(choice+2)/3=(choice+1)/3) choice -= 1;d(choice-1)/3=choice/3) choice += 1; else continue; Block(choice); system( Display(); else if(a(choice-1)/3)*10+2(choice-1)%3)*21+4! printf(该位置已有其他棋子! break; /while结束 b+;

5、 Black(choice); player=0; symbol=# /if结束 else/电脑下棋 choice=Found(); Block(choice); White(choice);* if(c=Judge(choice,symbol)!=0)/判断输赢 if(c=2) symbol= c=0; End(symbol); break;void Init()/初始化棋盘 int x=0,y=0; int i= for(x=0;x31;x+) for(y=0;y64;y+) if(y=Funcy(1)|y=Funcy(2)|y=Funcy(3)|y=Funcy(2)+Funcy(3) i

6、f(x=Funcx(1)|x=Funcx(4)|x=Funcx(7)|x=Funcx(4)+Funcx(7) axy=+ else| else if(x=Funcx(1)|x=Funcx(4)|x=Funcx(7)|x=Funcx(4)+Funcx(7) axy=- else /for(x=1;=7;x=x+3)/在每个格子的左上角添加序号,范围19 / / for(y=1;=3; / / a(Funcx(x)+1)(Funcy(y)+1)=i; / i+; / /void Display()/打印棋盘%c,axy);void Block(int choice)/添加选择框 int x,y;

7、for(x=Funcx(choice)+1;Funcx(choice)+10; for(y=Funcy(choice)+2;Funcy(choice)+20; if(x=Funcx(choice)+1|x=Funcx(choice)+9) if(y=Funcy(choice)+2|y=Funcy(choice)+19) else if(yFuncy(choice)+14) else if(xFuncx(choice)+6)void Clear(int choice)/清空选择框 int x,y,i; for(i=1;i=9;i+) if(aFuncx(choice)+1Funcy(choice

8、)+2=i!=choice) for(x=Funcx(choice)+1; for(y=Funcy(choice)+2; if(x=Funcx(choice)+1|x=Funcx(choice)+9) if(y=Funcy(choice)+2|y=Funcy(choice)+19) axy= else if(y else if(xvoid Black(choice)/添加黑棋 for(x=Funcx(choice)+2;Funcx(choice)+9; for(y=Funcy(choice)+4;Funcy(choice)+18; if(x=Funcx(choice)+2|x=Funcx(ch

9、oice)+8) else if(y=Funcy(choice)+4|y=Funcy(choice)+17)void White(choice)/添加白棋 int x; int d=4;=Funcx(choice)+8; axFuncy(choice)+d= axFuncy(choice)+20-d= d=d+2;int Judge(int choice,char symbol)/判断输赢 返回值0为无结果,1为获胜,2为平局 if( ( (aFuncx(choice)+2Funcy(choice)+4=aFuncx(choice+3)+2Funcy(choice)+4 &aFuncx(cho

10、ice+3)+2Funcy(choice)+4=aFuncx(choice+6)+2Funcy(choice)+4) | (aFuncx(choice)+2Funcy(choice)+4=aFuncx(choice)+2Funcy(choice+1)+4aFuncx(choice)+2Funcy(choice+1)+4=aFuncx(choice)+2Funcy(choice+2)+4) ) aFuncx(5)+2Funcy(5)+4=symbol (aFuncx(1)+2Funcy(1)+4=aFuncx(5)+2Funcy(5)+4aFuncx(5)+2Funcy(5)+4=aFuncx(

11、9)+2Funcy(9)+4) (aFuncx(3)+2Funcy(3)+4=aFuncx(5)+2Funcy(5)+4aFuncx(5)+2Funcy(5)+4=aFuncx(7)+2Funcy(7)+4) return 1; if(b=9) return 2;int Funcx(int choice)/将标号转换为行号 return (choice-1)/3)%3)*10;int Funcy(int choice)/将标号转换为列号 return (choice-1)%3)*21;void End(char symbol)/结束 Display(); if(symbol=)ttt 电 脑 胜 利!nn else if(symbol=ttt 玩 家 胜 利! elsettt 平局! b=0;ttt按任意键返回菜单 getch();int Found()/返回第一个没有棋子的位置的编号 int i;i+) if(aFuncx(i)+2Funcy(i)+4= return i;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1