俄罗斯方块android设计思路,俄罗斯方块设计思路

俄罗斯方块设计思路

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对坐标计算出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值