俄罗斯方块类的基本设计及简易游戏设计.pptVIP

俄罗斯方块类的基本设计及简易游戏设计.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
俄罗斯方块类的基本设计及简易游戏设计

JAVA实训 适用专业: 软件工程(本科) * 四 俄罗斯方块基本类的设计(无键盘事件) 在游戏运行过程中,每一步的运行都与方块有直接联系,即与方块在游戏区域的运行状态有关,我们可以把方块的属性和对方块的操作进行封装,建立一个方块类,使我们在游戏运行过程中可方便地对方块进行操作。 在此,我们先完成一个简易的游戏控制,既游戏开始后,动画开始,在画布的中间位置产生随机方块,并动态下落,当不能再下落时,再重复块的产生等循环过程。当产生的新块在初始化位置不合理时游戏结束。暂不处理手工操作及消行处理,可以在程序中考虑消行的处理位置。 * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类分析: 属性: 1. 方块的信息数组表示:第三步的分析结果,blockArr[7][4] 2.方块的状态属性:方块的种类(行值)和形态(列值)。int blockType,blockTurnState 根据第三步对俄罗斯方块变形效果的分析,俄罗斯方块的当前形态与俄罗斯方块信息数组有直接关系,即数组中的行列即可表示一个方块,因此,描述方块的直接属性应包含方块的种类(行值)和形态(列值)。 * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类分析: 属性: 3. 方块的信息: int block[4][4]: 存储当前方块矩阵信息,取0或1,1代表小方块填充,0代表不填充。便于与棋盘进行判断,当进行变形时该数组更新,当左右移动或下落时,用该数组与方块的位置信息(第6点)进行处理后达到画布的更新区域信息,便于棋盘数组的更新。 4 .方块移动区域:MyCanvas gameScr 方块的移动是在规定的游戏区域进行的,对该程序而言,是在一个画布上被操作的(MyCanvas),所以方块的运动范围受该画布的制约,如左移动边界、右移动边界、累计高度到达一定高度后游戏结束等,为了在方块类中方便地访问画布的相关属性,根据经验,我们在方块类的构造方法中把画布对象作为参数传递给方块类,而供方块类的相关方法访问。 * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类分析: 属性: 5.方块在游戏区域即画布上的位置:int blockRow,blockCol; : 方块在移动过程中,其在画布上的位置是动态改变的,而游戏的重绘效果直接由方块的位置及形态决定。该位置指整个方块矩阵在画布上的左上角的坐标值,结合该组位置信息与方块的信息就可以确定画布上的更新值。 * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类分析: 相关属性的定义: static int[][] blockArr = { {0x0f00,0x4444,0x0f00,0x4444}, {0x04e0,0x0464,0x00e4,0x04c4}, {0x4620,0x6c00,0x4620,0x6c00}, {0x2640,0xc600,0x2640,0xc600}, {0x6220,0x1700,0x2230,0x0740}, {0x6440,0x0e20,0x44c0,0x8e00}, {0x0660,0x0660,0x0660,0x0660} }; int blockType; //块的模式号(0-6) int blockTurnState; //块的翻转状态(0-3) int blockRow,blockCol; //块在画布上的坐标 int block[4][4]; //在游戏运行过程中是随着变形而变化 MyCanvas gameScr; * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类分析: 静态成员的应用: 为了在操作中灵活控制游戏的结束,一旦方块产生有效失败,则结束游戏,需要设置一个游戏结束标志,但是,整个游戏的标志在各个类中是共享的,所以,我们把 MyWin类中的gameFlag游戏状态标志设置为静态的,供所有在同一个包中的类访问。 * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类方法分析: 构造方法: Block(GameCanvas gameScr) 目标:初始化一个新方块,做好线程开始时的所有准备工作,既创建方块,设置相关属性,判断游戏是否可以继续(判断方块能否放置在游戏区域),如果可以放置,则游戏不结束,作好画布上的数组初始化工作。 然后由开始按钮启动线程而开始游戏。 初始化相关属性 判断能否放置在画布中 能 不能 结合方块数组信息和所在的棋盘当前数组信息,刷新棋盘数组,为画布的重绘作好 游戏结束标志为false * 四 俄罗斯方块基本类的设计(无键盘事件) 方块类方法分析: Block(GameCanvas gameScr)

文档评论(0)

celkhn0303 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档