java初级俄罗斯方块写法 55
前辈们好,新学java,学到俄罗斯方块时,好像到了基本能看懂代码的时候,但是自己写的时候,写完大框架frame,panel,listener之后,就不知道怎么把图片形式的...
前辈们好,新学java,学到俄罗斯方块时,好像到了基本能看懂代码的时候,但是自己写的时候,写完大框架frame,panel,listener之后,就不知道怎么把图片形式的小方块square四个一组写成一个大方块piece,并且添加到currentpiece和nextpiece中了,卡在这一步写不下去了,能有前辈写出这一段并讲解一下实现原理吗,请用最简单的语法完成,别人写的用了一大堆地图和接口,做为新人看起来更难理解里面的逻辑了,谢谢了
展开
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:定义自己的图形(就是游戏中下落的部分)比如MyPic ,这个类是控制MyLabel的,一般是4个MyLabel组合成一个MyPic,
3:定义自己的面板,大小是 (n*40,m*40 )就是上面最小单位的整数行和列,然后建一个二位数组
int [n][m],数组里面默认为0,标示这个位置没有MyLabel ,是空的,如果位置有 MyLabel,设置成1
,这个是数组是,图形下落的时候判断是否继续下落还是要停下了,下面有了就停,否则继续下落,下落停止后,根据数组,看某一行是否全部为1 是的话,把这行清空
图形的下落要用定时器或者自己写线程实现,然后就是判断下面是否有东西,是下落,还是停止,
图形的旋转的话,自己研究吧,位置的变换,也不好做
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询