C语言编写的与电脑下棋程序代码.doc
《C语言编写的与电脑下棋程序代码.doc》由会员分享,可在线阅读,更多相关《C语言编写的与电脑下棋程序代码.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言编写的与电脑下棋程序代码【精品文档】第 8 页#include stdafx.h#includeusing namespace std;void check(int i,int j); /检查每条直线上的各方棋子的数量int other(int b,int c);void check_win(); /检查是否胜利void begin(char ch);void computer(); /电脑下棋void user(); /用户下棋int a44,deep;int line332; /全局变量,用来存放每条直线上的各方棋子数! /第一维下标表示是行列
2、还是对角线,第二维下标表示第几条直线 /第三维下标表示各方的棋子数!void main() char ch;cout欢迎与本机下#字棋!您的棋子将用#表示,电脑的棋子用X表示n请选择先后手,输入u则您先手,输入c则电脑先手!(小写)nch; if(ch!=u&ch!=c)cout您输入的数据不合法,请重新输入!endl;while(ch!=u&ch!=c); /非法处理if(ch=u) cout您选择了您先手!nendl;else if(ch=c) cout您选择了电脑先手nendl;begin(ch);void begin(char ch) int i,j,k;a11=1;coutn 1 |
3、 2 | 3 n n 4 | 5 | 6 n n 7 | 8 | 9 nendl;for(i=1;i4;i+) for(j=1;j4;j+) if(j=1) if(i=1); else aij=ai-13+1; else aij=aij-1+1; /初始化棋盘 for(i=0;i3;i+) for(j=0;j3;j+) for(k=0;k3;k+) lineijk=0;deep=0;if(ch=u) user();else computer();void computer() int i,j,flag=0,m; /flag判断是否落子for(i=0;i3;i+) for(j=0;j3;j+)
4、if (lineij0=2&lineij1=0&flag=0) m=other(i,j); if(m%3=0) am/33=40;check(m/3,3); else am/3+1m%3=40; check(m/3+1,m%3); /40是#的ASCII码减48 flag=1; /当某条直线上用户有两棋子而我方无棋子时,在该直线的另一点落子 if (lineij1=2&lineij0=0&flag=0) m=other(i,j); if(m%3=0) am/33=40;check(m/3,3); else am/3+1m%3=40; check(m/3+1,m%3); /当某条直线上我方有两棋
5、子而对方无棋子时,在该直线的另一点落子 flag=1; if (lineij1=1&lineij0=0&flag=0) m=other(i,j); if(m%3=0) am/33=40;check(m/3,3); else am/3+1m%3=40; check(m/3+1,m%3); /当某条直线上我方有一棋子而对方无棋子时,在该直线的另一点落子 flag=1; if(flag=0)if (a22=5) a22=72; flag=1; check(2,2); /优先下第5个位置else for(i=2;i9&flag=0&aij=(i-1)*3+j;i+=2) if(i%3=0) ai/33
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编写 电脑 下棋 程序代码
限制150内