俄罗斯方块实训总结
这次实训即有收获,也有失落:
1
、俄罗斯方块程序勿促完成,有很多的
bug
,架构也有很多不合理的地方。虽然把所有的逻辑都进行
的封装,但总感觉有些牵强附会。上课时,并没有讲任何的面向对象的内容,这样的代码让学生去理解实
在是勉为其难。其实先让学生以面向过程的方法去编程,过一段时间再学面向对象或许对学生更为有利。
2
、代码和逻辑过于复杂,一方面学生难于理解,以至于使很多的学生丧失了继续学习程序的勇气,打
击了一大片。另一方面,学生敲错代码找老师解决,如果是语法错误还容易解决掉,但如果是逻辑错误就
麻烦了,有时,一个加减号的错误就要花掉很多时间,这导至了教师的工作量大增。
3
、
实现分数显示功能非常困难
(这点是我没想到的)
有几种解决方案
,
第一种是在界面上直接画分数,
但需要传递多一个画板。第二种是使用事件(这样比较合理,但太难),事件本身就很难理解了。由于使
用的
Timer
本身是一个多线程的
Timer,
还需掌握多线程的知识才能做出来,我的《
C#
语言参考视频》还没
有做到多线程,这样就变得难上加难了。但这样也有一个好处,如果能实现,能学到并理解不少的东西。
4
、在做程序时一直在考虑是否应该使用静态类,说白了就是把静态类当全局变量使用。最后是决定
i
用。但现在感觉还是应该使用的,至少改变参数时不用写任何代码就可以马上见到效果,也可以减少几百
行的代码,有效使程序减肥。
5
、实训时看到每个学生都在埋头敲代码感到很欣慰,有部分同学回到宿舍还继续奋战。虽然代码完全
是照视频抄的,可能不会理解到太多的东西,但至少让他们找到了学习和互助的感觉,这一点才是最重要
的。
这次实训有很多不足之处,需要改进。想了一下,大概制定了初步的解决方案,首先,程序代码不超
过
1000
行,其次,不使用面向对象的编程方法:
1
、继续使用俄罗斯方块,去掉设置界面,
XML
存储,也就是把砖块样式和快捷键写死在程序里面。
这样一半的代码就没了。另外再使用单色的砖块样式,这样就可以使用位运算实现部份逻辑,这样不但加
快了程序的运行速度,算法变得简单,也减少了部份的代码。但这样做这个游戏就变得没有特点了,可玩
性大大降低。而且再重做一遍这个视频好象也不太好。