C语言程序设计之五子棋
摘要:本程序是一种两人对弈的纯策略型棋类游戏,规则简单,变化多端,非常富有趣味性和消遣性。主要应用了Visual C++编程来完成这个游戏的设计的。本文主要介绍了本游戏的开发环境Microsoft Visual C++6.0,使用当前优秀的开发工具VC++编程基于MFC的基本对话框,编写了一个五子棋的游戏软件。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断方法。
关键词:五子棋游戏应用程序、初始化、规则、图形函数、判断
1.问题描述
在Visual C++ 6.0编译器的基础上,基于MFC的基本对话框,编写一个五子棋的游戏软件。
该游戏应该符合以下要求:
1.1游戏模式:人先下棋,电脑在人下子后会随后下棋。
1.2人机对弈:完成人和计算机的对弈,用黑棋子表示人,白棋子表示电脑,电脑要具有一定的人工智能,能够可以与人对弈一段时间。
1.3棋盘:要求棋盘绘制美观耐看。
1.4判断输赢:当一方有五个相邻的棋子连成一条线时,计算机能判定输赢,并能结束本次游戏并重新开始。
1.5存储功能:要求五子棋有存储功能,可以将进行中的游戏存储在棋盘上,也可以读取已存盘的游戏。
1.6弹窗功能:要求制作按钮,实现弹框功能,可以弹出指导老师与小组成员的信息。
2.详细设计
2.1总体设计
程序流程图如下图所示:
2.1.1 新建工程,选MFC AppWizard(exe),添上工程名,确定。
2.1.2选基本对话框,完成,确定
2.1.3插入位图
我们选择的方式从网上搜寻一些图片,然后直接贴图。先插入位图(BMP格式)。
位图插入后会自动赋予ID值,我们将其修改一下:分别修改为BLACK BOARD WHITE CLEAR
2.1.4添加DRAW函数
添加成员函数Draw:
然后添加所编的程序代码。
2.1.5在OnPaint函数中加入代码画图
在OnPaint函数中加入以下代码:
CDC *pDC;
自动弹窗代码pDC=GetDC();
Draw(0,0,IDB_CLEAR,pDC);
Draw(13,13,IDB_BOARD,pDC);
for(int i=0;i<15;i++)
for(int j=0;j<15;j++)
chess[i][j]=0;
2.1.6添加OnLButtonUp 函数
添加消息处理函数: