这几天跟着马士兵的视频写出了《坦克大战》单机版,在此基础上我还修改了几个小版块,比如敌方的坦克全部被我军歼灭后,战争级数上升一级,我军的战斗值恢复到满值,自动生成一批坦克,每次敌军新增的坦克数量也随着级数的上升而增多,有点级数越高越难打的味道,另外还增加了一个若不同敌军子弹相撞则爆炸的效果。
这是我学习JAVA一个多月以来,首次做的一个小项目,由于之前学过别的语言,所以做起来并不觉得困难。通过这个小项目,让我更深的了解了面向对象,同时也更深入的了解了一些新的知识点,稍作总结:
对象能够移动的本质是:改变对象的坐标,再对对象重画。由于重画的速度很快,我们的肉眼无法察觉,因此就以为是移动了。根据坦克的起始坐标,根据坦克的方向设一个变量相应的改变坦克的起始坐标。然后在通过重画,就达到了运动的效果。
还有通过构造子弹以及坦克,初步了解了List、ArrayList等的用法,当然此个项目也有一些不足之处,比如说我军子弹和敌军子弹、以及我军坦克和敌军坦克没有分开控制,这样子导致无法完成我军子弹碰到敌军子弹可以爆炸等问题。
知道怎么通过按键监听来实现按键控制操作,如使坦克和炮弹按八个方向跑,可以参看Tank.java和Missile.java里的内容。
总的来说,这个项目使我对JAVA的兴趣又增添几分,因为每做出一步,都会让我有点小成就感,然后是到最终完成,又想去做它的升级版···
效果如图: