俄罗斯方块设计思路.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
俄罗斯方块设计思路 1. 方块类 :每个方块都要记录自己的 ID、形状。形状采用 4对整数坐标来表示,分别记录其 4 个小方块的相对位置(以方块内或旁边任一点为中心,称为参考点) 。建议可以在方块类中定 义一个或多个 private static 数组,将每种 ID 的方块的形状数据存储好(都是一些固定的 数据),这样产生一个方块时只需要提供其 ID 即可。 为了处理方块的旋转, 我们不能只记录上述 7种方块, 而应该把它们旋转后产生的每种形状都 认为是一种不同的方块(因为它们的 4对坐标都不同),然后在方块 ID 之间建立映射关系,即 哪种 ID 的方块旋转后变成哪种 ID 的方块,只要求处理一个方向的旋转。这个映射关系也可 以用 private static 数组来实现。 此外,方块类还要记录自己的参考点在指定的游戏区域中的位置。 方块类主要操作: (自行决定哪些为 public 哪些为 private ) 构造函数:参数至少有: ID 和参考点初始坐标。 填充:把自己填充到指定的游戏区域中。返回填充成功或失败的信息。 清除:把自己从指定的游戏区域中清除。 移动:在指定的游戏区域中移动,包括向左、右、下移动,以 1个单元格为单位。如果可 以移动,则修改参考点的位置,并在指定的游戏区域中重新填充自己(先清除、然后修改参 考点位置,再填充) 。返回是否移动成功的信息。 旋转:在指定的游戏区域中旋转一次,此时参考点位置不变,但要改变自己的 ID,然后 在指定的游戏区域中重新填充自己(先清除、然后修改参考点位置,再填充) 。 获得占用行:返回本方块 4个小方块所占用的各行,可能有 1~4行,要返回每一行的行号 (1~20)。这些数据可用参考点位置与自己的 4对坐标计算出来。 2. 游戏区域类 其主要属性:游戏区域数据,可以用一个二维数组方便地实现。状态:游戏未开始(初 态)和游戏已开始。 主要操作为: (自行决定哪些为 public 哪些为 private ) 游戏区域读写:指定游戏区域的一个单元格坐标后,返回或设置单元格的值。 绘制:清除屏幕后将游戏区域绘制出来。 命令处理:命令为一个字符串,格式自定。要求实现如下命令: 游戏开始:注意:只有在游戏未开始状态才能执行该命令!当接收到此命令时,将状态 切换为游戏已开始。先初始化游戏区域(全空格) ,然后利用随机数产生一个新的方块 ID, 并根据此 ID 和一个初始单元格坐标(在游戏区域的上部中间的位置)产生一个新的方块(称 为活动方块),并将此方块填充到本游戏区域中 (所以本游戏区域应该作为方块类大部分操作 的参数),然后绘制本游戏区域。 注意:以下各命令只有在游戏已开始状态才能执行! 方块左移、右移、旋转:对活动方块调用相应的操作,不论是否能移动成功都重新绘制 本游戏区域,如果移动失败绘制完毕后给出文字提示信息。为增加游戏难度,可以在执行几 次左右移或旋转后自动执行“方块下移”命令。 方块下移:对活动方块调用相应的操作,如果移动成功,则重新绘制本游戏区域后操作 结束,如果移动失败,则说明方块已经掉到最下面,需要执行方块落地操作。 方块落地: 先执行清行操作:获得活动方块占用了哪些行的信息,然后逐行进行扫描:对每一行, 检查其 10列单元格是否都已经被填充,如果没有,则继续检查下一行,如果是,则将该行以 上(不包括该行)的游戏区域整体下移一行,并在最上面一行填充一行空格。可以从上往下 检查,也可以从下往上检查。可以每清除一行就重新绘制一次游戏区域,获得动画效果。 执行完清行操作后,要产生下一个方块,方法类似于“游戏开始”命令中的步骤,此时 要把活动方块指定为新产生的方块,而且还要检查新产生的方块是否能

文档评论(0)

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

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

1亿VIP精品文档

相关文档