五子棋 五子棋是一种很受人们喜爱的游戏,它的规则简单,但玩法变化多端,富有趣味性,适合人们消遣。这里我们就来设计一个五子棋游戏。 (一) (一) 人对人游戏 1. 1. 游戏实现 人对人游戏,其实只是对游戏规则的实现,我们只是利用五子棋游戏的规则来编程,至于真正的游戏实现——计算机的“智能”算法,我们将在后面讲述。 五子棋的规则很简单: 1,判断是否能放下棋子(是否已经有了棋子); 2,判断是哪种颜色下棋; 3,判断是否已经结束(是谁赢?)。 这些规则,我们将用相应的函数来实现。 其它,我们还将介绍其它一些功能的实现。如鼠标的更换,工具栏和状态栏的编辑,类与类之间的相互调用。 新建工程 3_1,选择文件-》新建->项目-》VC++-》MFC-》MFC 应用程序-》输入名称五子棋-》下一步-》单文档-》下一步-》。。。-》选中 Windows 套接字复选框。如下图: 图 3-1-1 单击完成。 1. 2. 资源编辑 由于我们这个程序出现的关于资源编辑的内容太多,我们具体介绍如下(以下内容在视图-》资源视图中添加): 见下图 3-1-2,我们需要添加的有: 图 3-1-2 黑白位图 Bitmap 以表示棋盘上面的棋子: IDB_BLACK IDB_WHITE 黑白鼠标 Cursor 以替换当前鼠标: IDC_CURSOR1 黑棋子 IDC_CURSOR 说明: 由于下棋时我们必须把鼠标热点设置在中间,点击下图(图 3-1-3)最右边按扭,然后把鼠标移动到图像中你想设置为热点的地方,按下鼠标左键。 图 3-1-3 黑白图标 Icon 以显示在状态栏供以提示: IDI_BLACK IDI_WHITE 说明: 由于我们的图标支持 256 色,按下下图(图 3-1-4)最右边按扭,选择 Device里面显示的选项。 图 3-1-4 菜单以供操作(在资源视图—》menu 中设置): 开始: ID_START 保存: ID_SAVE 打开: ID_OPEN 工具栏: 如上图所示。 说明: 工具栏一般都是根据菜单选项而产生的,它的 ID 一般都能从菜单的 ID 中找到。 1. 3. 变量函数 首先,为了实现状态栏的应用,我们必须更改它的变量: 在 MainFrm.h 文件里面,把 CStatusBar m_wndStatusBar 为 public 接着是在 3_1View.h 文件里面添加变量函数: //两个鼠标 HCURSOR hcursorwhite; HCURSOR hcursorblack; //棋盘数组 int wzq[19][19]; // colorwhite TRUE 时白棋下,否则黑棋下 bool colorwhite; //棋子位图 CBitmap m_bmblack; CBitmap m_bmwhite; //保存文件 ...