Java之俄罗斯方块小游戏

俄罗斯方块游戏本身的逻辑:
俄罗斯方块游戏的逻辑是比较简单的。它就类似于堆砌房子一样,各种各样的方地形状是不同的。但是,俄罗斯方块游戏的界面被等均的分为若干行和若干列,因此方块的本质就是占用了多少个单元。
首先来考虑一下数据的问题。对于界面来说,需要一个二维的 int 型数组,它保存着那些地方应该有着色,哪些没有;然后是方块本身,尽管它们的形状不统一,但是它们可以用一个4X4比例的方块所包围,因此用16个字节就可以把一个 方块的信息保存者,
注意:其实方块的数据也可以用int 数组表示,但是涉及到效率问题,用位操作比用普通的算术运算要快一点。
接下来思考一下动作具体有下面几点:
(1)方块的诞生。它的诞生是需要用随机原理的,另外,它如何初始化的被放置在游戏界面的顶部?
(2)方块是需要自动的往下掉的,它在掉的过程中,还需要判断它是否与周围的环境是否发生了冲突,能不能继续往下。
(3)方块本身还可以变形,变形以后的方块具有不同的数据,判断的方式又会不一样。

(4)当用户一直按住s键的时候,方块还需要持续往下掉。
然后就是过程,玩家主要操作的地方有以下几个方面:
(1) 左右操作。需要监听KeyEvent,让方块左右移动,直到碰到边界。
(2) 变形操作。也要监听KeyEvent,让方块自动的变形。
(3) 下降操作。也要监听KeyEvent,让方块快速的下降。
至于游戏的结束,只有一种情况, 那就是诞生的方块出世就与其他方块冲突了。
源程序代码如下:注释详细

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值