计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)

计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)

ID:11215625

大小:441.00 KB

页数:30页

时间:2018-07-10

计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)_第1页
计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)_第2页
计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)_第3页
计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)_第4页
计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)_第5页
资源描述:

《计算机图形学(徐长青、许志闻)游戏程序实例(最终稿)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、游戏程序实例“俄罗斯方块”是大家熟知的一款小游戏。本章将以“俄罗斯方块”为实例讲解如何利用C++语言开发平台编写Windows游戏。之所以选择以“俄罗斯方块”为例,就在于它简单、易读、易实现。当读者读完本章时,将能亲手完成游戏程序的编写,在理解游戏编写细节的同时,也能体会游戏开发的乐趣。“俄罗斯方块”游戏的玩法简单易学。运行游戏程序以后,首先用左右方向键或“M”、“N”键设置游戏的等级。右方向键或“M”键是等级提升1级,左方向键或“N”键是等级降低1级。设置好玩家需要的等级以后,单击“开始”按钮或按

2、“A”键,这个时候方块开始下落。在游戏的过程中,左、右方向键控制方块的左、右移动;向下的方向键是使方块直接下落到底部;向上的方向键控制方块的逆时针旋转,每按一次向上的方向键逆时针旋转90度。在游戏的过程中,如果玩家不想游戏,想休息一下的话,可以单击“暂停”按钮或按“P”键,这个时候,游戏就会暂时停止。当玩家再次单击“暂停”或再次按“P”键的时候,游戏又会继续运行。需要说明的是,如果玩家在游戏的过程中,觉得当前的游戏等级不是很满意,可以在游戏中进行等级的更改设置。方法是游戏中用左、右两个方向键或“M”

3、、“N”键更改游戏的等级。游戏方法可总结为表1。表1游戏方法操作功能按“A”键或“开始”按钮开始游戏按“P”键或“暂停”按钮暂停/继续游戏按“R”键重新开始游戏按“N”键方块减速下落按“M”键方块加速下落按“←”键游戏状态,方块左移;其它状态,减速按“→”键游戏状态,方块右移;其它状态,加速按“↓”键下落按“↑”键逆时针旋转90度为说明方便,将本章内出现的俄罗斯方块游戏中各部分的名称分别在图1和图2中标出。图1名称说明1图2名称说明2第一节程序构建过程首先打开MicrosoftVisualC++6.

4、0。单击“File”à“New”。这个时候就会出现“New”对话框。在“New”对话框中,选择“Projects”表单。在“Projects”表单的列表框里选择“MFCAppWizard(exe)”,然后在名称里面输入程序的名称,“俄罗斯方块”游戏程序的名称是“Tetris”。然后在“Location”里面输入保存的路径。整个过程如图3所示。图3创建新工程然后单击“确定”,这个时候会出现“MFCAppWizard”对话框,选择“Dialogbased”,即“俄罗斯方块”游戏程序是建立在对话框界面上的

5、。如图4所示。图4创建基于对话框的界面然后点击“Finish”按钮,系统会弹出一个对话框,列出了用户在创建工程时的一些预选信息。点击“OK”后,就会生成相应的程序包。当完成以上的操作以后,程序会自动生成一个工程,包括一个对话框界面。编译之后,如图5所示。图5创建后自动生成的对话框接下来,就需要布置一下游戏的界面。在“Workspace”子窗口中,选择“Dialog”资源,在展开的树形结构中点击相应的对话框IDD_TETRIS_DIALOG,在右侧窗口中便显示出相应的对话框编辑器。布置控件的方法需要使

6、用控件面板,如图6所示。图6对话框资源编辑界面只要用鼠标单击控件,然后拖到图形面板上相应的位置就可以了。首先要删除对话框中的所有控件,并增加如下控件。各个控件的主要属性如下:控件ButtonIDIDC_STARTCaption开始控件ButtonIDIDC_PAUSECaption暂停控件ButtonIDIDC_ABORTCaption结束控件ButtonIDIDC_ABOUTCaption帮助控件ButtonIDIDC_EXITCaption退出控件TextIDIDC_SCORE_STATICCa

7、ption分数控件TextIDIDC_LEVEL_STATICCaption等级布置好的界面如图7所示。图7对话框编辑后的界面设置好以后,就要实现程序的代码部分。第二节源代码注释首先对全局常量进行声明。#defineSHAPE(7)//方块的种类为7种,形状分别为:图8俄罗斯方块的形状#defineDIRECTION(4)//方块的方向,即每一种方块四个方向。例如:方向1方向2方向3方向4图9俄罗斯方块的方向#defineCELLROW(4)//方块格的行数#defineCELLCOL(4)//方块

8、格的列数4×4的方块格可以完全包括所有类型的方块。一个方块由四个方格按不同位置组成,最长的是这种形状,图10最长(高)的俄罗斯方块因此在4×4的方块格中可以表示任意形状和方向的方块。#defineROW(24)//面板格子的行数#defineCOL(12)//面板格子的列数面板是方块下落和堆积的区域。#defineLEN(18)//每个方块格的边长为18个像素。接下来,定义一个名为CPiece的类,由该类来负责绘制每片方块。显然,有关方块的形状、方向、颜色等信息将出现

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。