具体效果如下图:
GitHub地址:
https://github.com/weijifen/AndroidTetris
主要思路:
由于俄罗斯方块的主体部分是由一个个方格组成的,结合Android中有一个GridView网格视图,使用GridView不需要自己画view,可以把主要的精力放在游戏逻辑上面。
项目文件框架图:
1. 游戏规则
- 方块下落的时候速度一定。且速度可以选择。
- 方块随机产生,从中央开始下落。
- 方块在下落过程中可以旋转、左移、右移,但是这些动作当受到边界或者其他方块的阻碍的时候无法完成,下落受到阻碍的时候停止下落。
- 方块颜色随机产生,一旦产生,不可更改。
- 方块填充满一行之后消除这一行的所有方块,这一行的上面的行的方块随即下落。每消除一行分数加一分。
- 每个速度等级的最高分显示并存储。
- 在界面上显示下一个方格的颜色和形状。
2. 界面设计
游戏展示部分的界面:
<GridView
android:id="@+id/tetrisView"
android:background="@color/colorLine"
android:numColumns="10"
android:layout_width="240dp"
android:layout_height="360dp"
android:horizontalSpacing="0dp"
android:verticalSpacing="0dp">
<!--android:columnWidth="24dp"-->
</GridView>
设置游戏界面为 10 × 15 10 \times 15 10×15的方格。方格间距设为0;
item_adapter.xml
<?xml version="1.0" encoding="utf-8"?>
<!--在这里设置单元格的宽高-->
<LinearLayout xmlns:android=<