计算机游戏41,v计算机c++实例教程第9章麻将游戏(41页)-原创力文档

本章节详细介绍了如何使用VisualC++和MFCAppWizard创建一个具备网络功能的四人麻将游戏。游戏支持局域网连网,允许玩家选择作为服务器或客户端,并采用了非对等服务模式。图形界面通过虚拟三维坐标展现立体效果,同时包含了动态图形绘制和位图处理。此外,还涉及到登陆操作、服务器和客户端的对话框设计,以及位图资源的动态加载。
摘要由CSDN通过智能技术生成

第9章 麻将游戏

本章将要实现一个简单的四人麻将游戏的应用程序。该麻将游戏提供网络支持,可

以在局域网进行连网游戏,该麻将游戏中的四个玩家并非处于对等状态,而是其中一个

为其它三人提供服务功能;但是该麻将游戏集服务器与客户端于一体,即同一个应用程

序既可以选则做为服务器也可以选择作为客户端,而且在实现网络功能的时候,运用了

与第四章和第五章不同的技巧。该麻将游戏具有十分美观的图形界面,其运动了虚拟三

维坐标的方法,使得游戏体现出动态和立体的三维效果。

其实际效果如图 9-1 所示。

图 9-1 麻将游戏的实际效果图

● 建立对话框应用程序框架

● 实现非对等的网络服务功能

● 实现传输信息的序列化

● 建立虚拟的三维空间,体现立体效果

● 动态绘制图形和显示位图

● 实现在内存中创建位图和绘制图形

● 实现麻将游戏规则

Visual C++简明教程

9.1 窗体设计

9.1.1 建立应用程序框架

该麻将游戏是基于对话框的应用程序,利用 MFC AppWizard 生成应用麻将游戏应

用程序框架,具体步骤如下:

(1)执行 VC 程序,选择 FILE|New 命令,弹出 New 对话框,单击 Projects 选项卡,

选择 MFC AppWizard(exe)选项,然后在 Project Name 文本框中输入“麻将游戏”。

Location 文本框是指项目的本地路径,这里读者可以自行设定。保持 Platform 里的 Win32

复选框不变。如图 9-2 所示。

(2)单击 OK 按钮,弹出 MFC AppWizard-Step1 对话框。选择 Dialog Based 单选

按钮。如图 9-3 所示。

图9-2 New对话框 图 9-3 MFC AppWizard-Step1 对话框

(3)单击 Next 按钮,弹出 MFC AppWizard-Step2 of 6 对话框。如图 9-4 所示。

(4)单击 Next 按钮,弹出 MFC AppWizard-Step3 of 6 对话框,如图 9-5 所示。

图 9-4 MFC AppWizard-Step2 对话框 图 9-5 MFC AppWizard-Step3 对话框

(5)单击 Next 按钮,弹出 MFC AppWizard-Step4 of 6 对话框。如图 9-6 所示。

点击 Finish 按钮,创建框架。

图 9-6 MFC AppWizard-Step4 对话框

9.1.2 添加对话框资源

利用 Visual C++提供的资源编辑器,为工程添加三个对话框 IDD_OPERATION,

IDD_SERVER,IDD_CLIENT,分别用于登陆操作,服务器操作 ,客户端操作。将这

三个对话框以及主程序对话框 IDD_MY_DIALOG 上的默认的 OK 和 Cancel 键删除。

将以上四个对话框的 Style 属性下拉列表设为 Popup,Border 属性下拉列表框设为

Diaolog Frame。如图 9-7 所示。

图 9-7 对话框属性的设置

利用 Visual C++提供的资源编辑器,对登陆操作对话框 IDD_OPERATION 添加两个

编辑控件 IDC_ADDRESS 和 IDC_PORT,分别用于表示服务器 IP 和端口;添加两个按

钮控件 IDC_BUTTON_SERVER 和 IDC_BUTTON_CLIENT,分别用于选择作为服务器

建立服务和选择作为客户端连接服务器。其控件 ID,类型,用途对应关系如表 9-1 所示。

表 9-1 IDD_OPERATION对话框资源清单

控件 ID 控件类型 用途

IDC_ADDRESS 编辑框 输入服务器 IP 地址

IDC_PORT 编辑框 输入服务器端口

IDC_BUTTON_SERVER 按钮控件 选择建立服务器

IDC_BUTTON_CLIENT 按钮控件 选择连接服务器

Visual C++简明教程

9.1.3 添加位图资源

该麻将游戏中需要大量的位图;比如对话框的背景,操作按钮,麻将牌等都是用位

图来充当。因此,本例中不再采用第五章所采用的将位图添加到程中的方式,而是将位

图放在工程的子文件夹中,当程序初始化时,对所有位图进行动态加载。

该麻将游戏共需要三种用途的位图:一种是放置在工程 MaJiang 子目录下的所有位

图,它们是用来充当所有的麻将牌的;一种是放置在工程 Opertion 子目录下的所有位图,

它们是用来充当所有的操作按钮的;一种是放置在工程 Picture 子目录下的所有位图,

它们是用来填充对话框背景或者用来作来游戏桌面的。具体的,请各位读者查看本书附

赠的光盘。

9.2 界面相关功能的实现

该麻将游戏做为一个娱乐的工具,自然需要十分友好和美观的界面;这主要体现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值