没有合适的资源?快使用搜索试试~ 我知道了~
首页codeblocks五子棋c语言代码.docx
资源详情
资源评论
资源推荐
1
C 语言课程设计
# include<stdio.h>//插入输入输出头文件
#include<string.h>//字符数组的函数定义的头文件
# include<stdlib.h>//stdlib 头 文 件 即 standard library 标 准 库 头 文 件
stdlib 头文件
# dene SPA 0//在 C 或 C++语言源程序中允许用一个标识符来表示一个字
符串,称为“宏”
# dene MAN 1
# dene COM 2
/* 空位置设为 0 ,玩家下的位置设为 1 ,电脑下的位置设为 2 */
#dene ORDEX 15
int qipan[ORDEX][ORDEX]; //自己定义的预处理函数,以二维数组形式构
建棋盘 /* 15*15 的棋盘 */
typedef struct//typedef 的作用是在 C 中定义一个结构体类型
{
int iFlag;
int iX, iY;
}ScmPiece;
int g_iPieceLen;
ScmPiece g_ScmGame1, g_ScmGame2;
void start(); /* 程序的主要控制函数 */
2
C 语言课程设计
void draw(); /* 画棋盘 */
int Victory( ScmPiece * pScmPiece ); /* 判断胜利 p q 为判断点坐标 */
void AI(int *p,int *q); /* 电脑下子 p q 返回下子坐标 */
int value(int p,int q); /* 计算空点 p q 的价值 */
int qixing(int n,int p,int q); /* 返回空点 p q 在 n 方向上的棋型 n 为 1-8
方向 从右顺时针开始数 */
void yiwei(int n,int *i,int *j); /* 在 n 方向上对坐标 i j 移位 n 为 1-8 方向
从右顺时针开始数 */
void InitGame()
{
int i;
g_iPieceLen = ORDEX * ORDEX;
g_ScmGame1.iX = 0;
g_ScmGame1.iY = 0;
g_ScmGame1.iFlag = COM;
g_ScmGame2.iX = 7;
g_ScmGame2.iY = 7;
g_ScmGame2.iFlag = MAN;
for( i=0; i < ORDEX*ORDEX; ++i )
*( (int*)qipan + i ) = SPA;
}
void main()
{
char k;
3
C 语言课程设计
do{
InitGame();
start();
printf("还要再来一把吗?输入 y 或 n:");
getchar();//在被调用时从文本流读入输入的字符并且将其作为结果返回
scanf("%c",&k);
while(k!='y'&&k!='n')
{
printf("输入错误,请重新输入\n");
scanf("%c",&k);
}
system("cls");//可以实现清屏操作
}while(k=='y');
printf("谢谢使用!\n");
}
void MakePiece( ScmPiece * pScmPiece, int iGameFlag )
{
if( iGameFlag )
{
printf("请下子:");
while( scanf( "%d%d", &pScmPiece->iX, &pScmPiece->iY ) )
{
if( ( pScmPiece->iX < 0 || pScmPiece->iX > ORDEX-1 ) ||
( pScmPiece->iY < 0 || pScmPiece->iY > ORDEX-1 ) )
4
C 语言课程设计
printf( "坐标错误!请重新输入:");
else if( qipan[pScmPiece->iX][pScmPiece->iY] )
printf( "该位置已有子!请重新输入:");
else break;
}
}
qipan[pScmPiece->iX][pScmPiece->iY] = pScmPiece->iFlag;
--g_iPieceLen;
system("cls");
draw();
if( iGameFlag == 0 )
printf("电脑下在%d %d\n", pScmPiece->iX, pScmPiece->iY );
}
void start()
{
int choice;
//ScmPiece ScmGameTemp1, ScmGameTemp2;/* a1 b1 储存玩家上
手坐标 c1 d1 储存电脑上手坐标 */
printf("\t \n");
printf("\t \n");
printf("\t 欢迎使用五子棋对战程序 祝您玩的愉快 \n");
printf("\t \n");
printf("\t \n");
printf("\t 1.人机对战 2.人人对战 \n");
剩余16页未读,继续阅读
dalmoon
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- stc12c5a60s2 例程
- Android通过全局变量传递数据
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0