原来俄罗斯方块也是这么简单!
可以只用二维数组实现的.
但是用动态控制的旋转不太真实.
还是改成3维数组的.
把7种基本形状4个方向共28种形状.
游戏池是 10 * 20 的二维数组
开始游戏后需要生成2个随机快. 一块在游戏池中,一块在下一块区域
当生成一块新快的时候,要判断是否游戏结束.
即生成块与游戏池重合的区域是否不为空.
在线程中需要不停的把生成块往下移动
同时需要监听键盘事件,
根据方向键控制新块
当新块的任意一点的下一格的游戏池不为空,
便把新块加入游戏池,
这时候就需要判断是否可以消去行.
之后又回到了开始的
如果你想得到关于J2ME俄罗斯方块的任何支持.
mail: logojimi @ 163 .co m
可以只用二维数组实现的.
但是用动态控制的旋转不太真实.
还是改成3维数组的.
把7种基本形状4个方向共28种形状.
public static int[][][]store = new int[][][]{
{// I
{0,0,0,1},
{0,0,0,1},
{0,0,0,1},
{0,0,0,1}
},
{// I
{0,0,0,0},
{0,0,0,0},
{1,1,1,1},
{0,0,0,0}
}, //......... 省略
游戏池是 10 * 20 的二维数组
public static int [][] body = new int[10][20]; //游戏池
开始游戏后需要生成2个随机快. 一块在游戏池中,一块在下一块区域
newCase();
newCase();
当生成一块新快的时候,要判断是否游戏结束.
即生成块与游戏池重合的区域是否不为空.
isGameOver();
在线程中需要不停的把生成块往下移动
moveDown();
同时需要监听键盘事件,
根据方向键控制新块
moveLeft();
moveRight();
moveDown();
turn();
当新块的任意一点的下一格的游戏池不为空,
便把新块加入游戏池,
这时候就需要判断是否可以消去行.
remove();
之后又回到了开始的
newCase();
如果你想得到关于J2ME俄罗斯方块的任何支持.
mail: logojimi @ 163 .co m