五子棋 五子棋是一种很受人们喜爱的游戏,它的规则简单,但玩法变化多端,富有趣味性,适合人们消遣。这里我们就来设计一个五子棋游戏。 (一) (一) 人对人游戏 1 . 1 . 游戏实现 人对人游戏,其实只是对游戏规则的实现,我们只是利用五子棋游戏的规则来编程,至于真正的游戏实现——计算机的“智能”算法,我们将在后面讲述。 五子棋的规则很简单: 1 ,判断是否能放下棋子(是否已经有了棋子); 2 ,判断是哪种颜色下棋; 3,判断是否已经结束(是谁赢?)。 这些规则,我们将用相应的函数来实现。 其它,我们还将介绍其它一些功能的实现。如鼠标的更换,工具栏和状态栏的编辑,类与类之间的相互调用。 新建工程 3_1,选择单文档,在 Step 4 of 6 中先中 Window s Sockets 复选框。如下图: 图 3-1-1 2. 2. 资源编辑 由于我们这个程序出现的关于资源编辑的内容太多,我们具体介绍如下: 见下图 3-1-2,我们需要添加的有: 图3-1-2 黑白位图Bitmap 以表示棋盘上面的棋子: IDB_BLACK IDB_WHITE 黑白鼠标Cu rsor 以替换当前鼠标: IDC_CURSOR1 黑棋子 IDC_CURSOR2 白棋子 说明: 由于下棋时我们必须把鼠标热点设置在中间,点击下图(图3-1-3)最右边按扭,然后把鼠标移动到图像中你想设置为热点的地方,按下鼠标左键。 图3-1-3 黑白图标Ico n 以显示在状态栏供以提示: IDI_BLACK IDI_WHITE 说明: 由于我们的图标支持256 色,按下下图(图3-1-4)最右边按扭,选择Dev ice里面显示的选项。 图3-1-4 菜单以供操作: 开始: ID_START 保存: ID_SAVE 打开: ID_OPEN 工具栏: 如上图所示。 说明: 工具栏一般都是根据菜单选项而产生的,它的ID 一般都能从菜单的ID 中找到。 3. 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; //保存文件 void Save(); //检查是否结束 void over(CPoint point); //鼠标操作 afx_msg void OnLButtonUp(UINT nFlags, CPoint point); //鼠标图形更换 afx_msg...