p600-611
坦克大战!
艰难推进中
坦克大战-子弹
发射子弹
1.当发射一颗子弹后,就相当于启动一个线程
2.玩家拥有子弹对象,当按下J时,就启动发射行为(线程),让子弹不停移动,形成射击的过程。
3.面板mypanel需要不停重绘,才能出现这个效果
4.当子弹移动到面板边界时,就销毁子弹线程。
增加功能:让敌人发射子弹,且可以有多颗子弹。
1.在敌人坦克类中增加Vector来保存多个子弹
2.当创建敌人坦克时,就初始化一个shot给Vector,同时启动它
3.在绘制敌人坦克时,需要遍历敌人坦克对象的Vector,绘制所有子弹。
4.当子弹的isLive==false的时候,就从Vector中移除子弹。
子弹命中,敌人爆炸,敌人移动
这章有点长脑子。
0603_韩顺平Java_敌方坦克消失_哔哩哔哩_bilibili
让敌人的坦克也可以自由随机的上下左右移动思路分析
1.因为要求敌人的坦克,可以自由移动,因此需要将敌人坦克当做线程使用
2.我们需要Enemy Tank implements Runnable
3.在run方法中写上相应的代码即可!
多发子弹
我方坦克在发射的子弹消亡后,才能发射新的子弹=→>扩展(发多颖子弹怎么办)
1.在按下J键,我们判断当前hero对象的子弹,是否已经销毁
2.如果没有销毁。就不去触发shotEnemy
3.如果已经销毁,才去出发
使用Vector保存我的子弹
敌人的坦克打到我,我爆炸
尝试失败了,等老韩吧,只能成功实现敌人打中我让我动不了。
。。。
IO流
文件,对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文档,txt文件.excel文件...都是文件。它既可以保存一张图片,也可以保持视频声音。
文件类实现了串行化(网络传输!)、可比较
例:
public void cr2(){ File father_file = new File("D:\\madake"); String filename = "mdk2.txt"; File file1 = new File(father_file, filename); //在内存里创造。只是个对象 try { file1.createNewFile();//写入硬盘。 System.out.println("创建成功2"); } catch (IOException e) { e.printStackTrace(); } }