俄罗斯方块游戏设计(c#版)

俄罗斯方块游戏设计(c#版)

ID:26477152

大小:5.79 MB

页数:19页

时间:2018-11-27

俄罗斯方块游戏设计(c#版)_第1页
俄罗斯方块游戏设计(c#版)_第2页
俄罗斯方块游戏设计(c#版)_第3页
俄罗斯方块游戏设计(c#版)_第4页
俄罗斯方块游戏设计(c#版)_第5页
资源描述:

《俄罗斯方块游戏设计(c#版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、俄罗斯方块游戏设计(C#版)设计教师:廖永红开发工具要求:VisualStudio.NET2003参考:有关VisualStudio.NET2003GDI编程,MSDN重点:windows消息(事件)机制,程序主框架,计时器(timer),图形设备接口(显示设备,画笔、画刷,绘图函数等)。主函数main():是整个程序的入口点。事件驱动编程:程序运行中,当发生某个事件时(如:用户按了某键、点击的鼠标键、计时时间到等),系统会捕获事件,并调用相应的事件处理函数。我们需要做的工作是:在这此事件处理函数中,写代码实现处理功能(如:按了->键,应使“方块”右旋90度)。下列是常用的

2、一些事件:事件说明与鼠标相关的事件:Click用户在按下鼠标键单击控件时发生MouseDown在鼠标指针在控件上并按下鼠标键时发生MouseUp在鼠标指针在控件上并释放鼠标键时发生MouseMove在鼠标指针移到控件上时发生与键盘相关的事件:KeyDown在控件有焦点的情况下,按下键时发生KeyPress在控件有焦点的情况下,按下键时发生KeyUp在控件有焦点的情况下,释放键时发生以上三个事件发生的顺序是:KeyDown->KeyPress->KeyUp其他事件:Enter在焦点进入控件时发生,只发生一次Leave在输入焦点离开控件时发生GotFocus在控件接收焦点时发生

3、,只要焦点在,则一直引发LostFocus当控件失去焦点时发生Resize在调整控件大小时发生EnabledChanged在Enabled属性值更改后发生TextChangedText属性值更改时发生VisibleChangedVisible属性值更改时发生设计要点:1.游戏数据与界面显示相分离,用游戏结构数据描述游戏的状态,玩家操作或游戏自行走一步,程序中都通过修改游戏数据来体现,即每走一步,程序会修改当前的游戏数据,判断游戏是否结束了,也是通过对游戏数据的分析来作出结论。游戏界面是根据当时游戏数据来绘制的,当数据改变时,要清除原图形并重绘。总之,游戏的逻辑设计是针对游戏

4、数据,而不是游戏界面。界面只是间接地向玩家显示结果。2.因此,在设计函数时,大致分二类:与玩家操作事件有关的数据处理函数,与界面效果有关的图形绘制函数。游戏运行过程由窗体监听到的键盘事件控制。3.描述游戏的主要数据结构1)游戏空间及其数据结构:游戏空间可以看成由WIDTH×HIGHT个正方形小格子构成,每格子都有一个相对于左上角的坐标。可以用一个WIDTH×HIGHT的二维数组表示游戏空间。如下:intgamespace[WIDTH,HIGHT];我们规定:某格子对应的数组元素的值为1,表示此格子已被方块填充,为0表示未被填充。如:gamespace[13,3]=1表示,下

5、标为[13,3]的格子已填充(深灰色)gamespace[5,4]=0表示,下标为[5,4]的格子未填充(白色)在游戏空间中,被方块填充了的格子为深灰色,未被填充的格子为白色(底色)。下列是在游戏程序中关于游戏空间的部分算法:²初始化空间的算法如下:publicvoidcleargamespace()//初始化游戏空间{for(inti=0;i

6、olIsGameOver()//true---结束false--没有结束{boolflag=false;//先假设没有结束for(inti=0;i

7、//定义描述每个小方格的结构体{publicintx,y;//相对中心的坐标};一个方块是由多个小方格组成的,可以用一个组数来描述多个小方格,另外,还要指出方块中心在游戏空间中的位置(从坐标以小方格为单位),如下:publicstructblock_struct//定义描述方块的类型、位置、小方格的结构体{publicbox_struct[]boxs;//用数组来描述多个小方格publicintcx,cy;//方块中心点在游戏空间中位置坐标publicinttype;//方块类型,上图中四种分别为1,2,3,4pu

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

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

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