a : 左
d : 右
s : 下
w : 变型
基本想法:后台有一个大数组来记录所有的方块,不算正在下落的方块。所以paintComponent中只要画
这两个。(见原始版)
在Fangk.java中,专门写的是方块的类,每个方块由四个小正方形组成(显示的时候),在后台每个方块
就由四个点组成,每个点是了一个小正方形的左上角的点。而点又是由坐标表示的,所以可以定位每个方
块了~
外数组里装的是一个个的点,这样就可以实现在paintComponent中画出外数组和方块了!~
然后的东西都没什么了,在注释里都有的~
一些问题或者可改进的地方:
1、有没有更好的方块变化的算法?~(我的算法相当繁,想法很幼稚,就是通过property来随机控制出来
方块种类,用rotate控制方块的旋转方向。注:这里的rotate不是随机产生的)
2、定义了很多全局变量,为了每个监听器都能对一个变量进行操作,只能这样了。
3、数学逻辑思维在编程中相当重要,一些代码还可以精简,而且精简后会更加漂亮,无论对于可读性
还是计算机的运行都有好处。(感觉现在的软件只追求效率,代码都编的很消耗系统资源,使得硬件必须
一直围着软件转,感觉这样的程序员很无能,当然,我也是其中一份子)
4、对观感等等东西不是很懂,只会贴基本的代码,所以美观很烂。老师说观感这东西不需要多重视,
可以有美工人员来做,但是总感觉美工同志们能解决那么复杂的代码么?
5、当方块在边界的时候按w是没有反应的(懒得改了~原本做的时候保证不出bug所以规定死了)
6、没有下一个方块的提示(改不了了,如果这样的话,得对整个Fangk类做修改,对Fangk的初始化函数
等等都有改动,而且代码又要写很多了)
希望大家能够一起学习进步!