江南大学数字媒体...吧 关注:41贴子:83
  • 1回复贴,共1

【转】网络五子棋游戏制作教程(一) 设计主界面

只看楼主收藏回复

前言
五子棋是起源于中国古代的传统黑白棋种之一。它是深受人们喜爱的一种游戏,其规则简单,变化多端,具有趣味性。这里介绍了五子棋的程序的数据结构、评分规则、胜负判断方法和搜索方法过程,实现了是两个不同计算机的使用者通过一定的网络连接,达到两人对战的功能。
本人将尽量的详细给大家讲解制作过程。本教程开发环境Microsoft Visual C++6.0版,适合有c\c++基础并了解MFC基本框架的学生。教程更新过程中,欢迎大家可以提出建议和指出错误,我们一起共同改善。
网络五子棋游戏主界面
1、创建MFC APP[exe]工程,命名为wuziqi1

2、设计界面
添加控件操作,如果大家比较陌生,可以参考孙鑫的VC++相应的那集视频教程。

菜单:
插入资源-新建Menu

3、显示棋盘(贴图)
BitBlt功能函数介绍:
函数原型:
BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,
HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);
参数:
hdcDest:指向目标设备环境的句柄。
nXDest:指定目标矩形区域左上角的X轴逻辑坐标。
nYDest:指定目标矩形区域左上角的Y轴逻辑坐标。
nWidth:指定源在目标矩形区域的逻辑宽度。
nHeight:指定源在目标矩形区域的逻辑高度。
hdcSrc:指向源设备环境的句柄。
nXSrc:指定源矩形区域左上角的X轴逻辑坐标。
nYSrc:指定源矩形区域左上角的Y轴逻辑坐标。
dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。
(1)在CWuziqiDlg类中添加成员变量 CBitmap bmp;
(2)在CWuziqi1Dlg::OnPaint() 修改为如下代码
else
{
CDC * pDC = GetDC() ;
CDC memDC ;
memDC.CreateCompatibleDC(pDC) ;
bmp.LoadBitmap(IDB_BITMAP_BOARD) ;
memDC.SelectObject(&bmp);
pDC->BitBlt(11, 11, 536, 536, &memDC, 0, 0, SRCCOPY);
CDialog::OnPaint();
}
(3)运行。
4、显示菜单:
在CWuziqi1Dlg::OnInitDialog()函数中添加如下代码
CMenu menu ;
menu.LoadMenu(IDR_MENU1) ;
SetMenu(&menu) ;
menu.Detach() ;
(3)运行
5、单击菜单栏的“系统”——“连接”——“连接主机”弹出对话框。
(1)添加对话框资源
(2)将“连接主机”的ID改为“ID_MENUITEM_LINK”,并在CWuziqi1Dlg类中给它添加响应函数OnMenuitemLink()。

(3)在CWuziqi1Dlg::OnMenuitemLink(CCmdUI* pCmdUI) 函数中添加如下代码:
DialogLink infodlg;
infodlg.DoModal(); //显示对话框
(4)运行


IP属地:江苏1楼2014-06-27 16:43回复
    感觉听不懂


    来自Android客户端2楼2018-05-06 19:55
    回复