c语言-五子棋游戏-代码-源代码-解释
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
C语言教程:简易五子棋程序 收集于网络 /*纯用字符和数组编的五子棋,棋盘也是用字符画的。 % 编了 1上午了,主要是算法跟按键比较烦,发现有bug-按键速度过快会产生延时显示, 可能是算法不好。 操作:玩家1: a,s,w,d (方向) 空格(落子) 玩家2: 上、下、左、右 回车(落子) ESC:退出 编译测试环境: */ #include <> #include <> #include <> #include <> #define CRRU #define CRLU #define CRLD #define CRRD < #define CRL #define CRR #define CRU #define CRD #define CR Oxbf /*右上角点 Oxda 厂左上角点 OxcO 广左下角点 0xd9 厂右下角点 0xc3 严左边 0xb4 厂右边 0xc2 /*上边 Oxcl 严下边 197*/ 218*/ 192♦/ 217*/ 195♦/ 190*/ 194*/ 193♦/ 0xc5 /*十字交叉点 197♦/ #define size 19 char a[size][size]; int ij; int y=3; int x=10; return; void pressct(int m){ switch(m){ Y case 19200: 〃左 if(i>0) {i-;x-;gotoxy{x,y);} break; case 20480: case 18432: // 卜 〃上 if(j;gotoxy{x,y);} break;
if(j>0) {j-;y-;gotoxy(xzy);} break; case 19712: case 7181:
〃右 〃回车
if(i;x++;gotoxy(x,y);} break;
if(a[i][j]!=CB&&a(i][j]!=CW){a[i][j]=CW;putch(CW);gotoxy(x/y);side=l;}break; default: break;
return ;
int judge(int pa) {
int m; int sum=l;
for(m==l;mv=i&&m<=j;m++)
〃判断是否胜利,胜利则返回r否则返回o:
〃其中ij为当前的落子位:
{if(a[i-m][j-m]!=pa) break;sum++;}
for(m=l;mv(size・i)&&m<(size-j);m++) {if(a[i+ml[j+m]!=pa) break;sum++;}if(sum>=5) return 1; {if(a[i二pa) break;sum++;} else
sum=l;
for(m=l;m<=i;m++) for(m=l;m<(size-j);m++) if(sum>=5) return 1; else
sum=l;
for(m=l;m<=j;m++) for(m=l;m<(size-j);m++) if(sum>=5) return 1; else
sum=l;
{if(a[i-m][j+m]!=pa) break;sum++;} {if(a[i+m][j-m]!=pa) break;sum++;}
for(m=l;m<=i&&m<(size-j);m++) for(m=l;m<(size-i)&&m<=j;m++) if(sum>=5) return 1; else return 0;
{if(a[i+m][j]!=pa) break;sum++;}
{if(a[i][j-m]!=pa) break;sum++;} {if(a[i][j+m]!=pa) break;sum++;}
本文章来自21视频教程网
C语言教程:简易五子棋程序C语言程序设计教程原文链接:
本文来源:https://www.wddqw.com/doc/4248fe35720abb68a98271fe910ef12d2bf9a945.html