【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《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.wddqxz.cn/4248fe35720abb68a98271fe910ef12d2bf9a945.html