求一个java俄罗斯方块的设计思路 不要代码 只要思路 本人是初学者

2025-03-24 05:47:15
推荐回答(2个)
回答1:

1:首先自己定义一个类,比如MyLabel,继承jlabel,设置大小比如
(40,40)设置成方块,这就是游戏里面最小的单位,下落的图形,就是四个这个样的单位组合到一起,位置不同。
2:定义自己的图形(就是游戏中下落的部分)比如MyPic
,这个类是控制MyLabel的,一般是4个MyLabel组合成一个MyPic,
3:定义自己的面板,大小是
(n*40,m*40
)就是上面最小单位的整数行和列,然后建一个二位数组
int
[n][m],数组里面默认为0,标示这个位置没有MyLabel
,是空的,如果位置有
MyLabel,设置成1
,这个是数组是,图形下落的时候判断是否继续下落还是要停下了,下面有了就停,否则继续下落,下落停止后,根据数组,看某一行是否全部为1
是的话,把这行清空
图形的下落要用定时器或者自己写线程实现,然后就是判断下面是否有东西,是下落,还是停止,
图形的旋转的话,自己研究吧,位置的变换,也不好做

回答2:

思路就是数组
地图是
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
然后再定义各种形状
比如
0
0
0
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
0
0
0
0
0
0
然后编写这些形状的反转方法,也就是根据方向调整形状中1的位置
然后就写游戏呗,下落过程其实就是不断的修改地图的值