第二十章 坦克大战3

第二十章 坦克大战3

  • 1.防止坦克重叠思路
  • 2.击中坦克爆炸完善
    • MyPanel类 完善击中坦克爆炸
  • 3.防止敌人坦克重叠1
    • EnemyTank类 使EnemyTank类可以得到MyPanel类中的集合enemyTanks
    • EnemyTank类 编写方法判断是否与其他坦克重叠case0
  • 4.防止敌人坦克重叠2
    • EnemyTank类 编写方法判断是否与其他坦克重叠case1
    • EnemyTank类 编写方法判断是否与其他坦克重叠case2
    • EnemyTank类 编写方法判断是否与其他坦克重叠case3
  • 5.防止敌人坦克重叠3
    • EnemyTank类 限制坦克移动
    • MyPanel类 将集合enemyTanks设置给enenyTank
  • 6.记录玩家成绩1
  • 7.记录玩家成绩2
    • MyPanel类 编写方法显示我方击毁敌方坦克数
    • Recorder类 新建Recorder类记录相关信息和文件交互
    • MyPanel类 调整showInfo方法与hitTank方法
    • Recorder类 添加方法利用IO流保存数据
    • HspTankGame类 在存盘退出时调用keepRecord方法
  • 8.记录敌人坦克信息
    • Recorder类 升级keepRecords方法
    • MyPanel类 将集合enemyTanks赋给Records类中的enemyTanks
  • 9.继续上局游戏1
  • 10.继续上局游戏2
    • Recorder类 添加保存node对象的集合
    • Recorder类 新增方法读取recordFile
    • MyPanel类 调用方法
    • MyPanel类 构造器传入一个key判断是否开新游戏
    • HspTankGame类 输入key值
    • 11.坦克大战音乐
    • MyPanel类 开启线程
    • Recorder类 改变文件存储位置
    • MyPanel类 处理文件异常问题

1.防止坦克重叠思路

第二十章 坦克大战3_第1张图片
第二十章 坦克大战3_第2张图片

2.击中坦克爆炸完善

MyPanel类 完善击中坦克爆炸

第二十章 坦克大战3_第3张图片

3.防止敌人坦克重叠1

EnemyTank类 使EnemyTank类可以得到MyPanel类中的集合enemyTanks

第二十章 坦克大战3_第4张图片
第二十章 坦克大战3_第5张图片

EnemyTank类 编写方法判断是否与其他坦克重叠case0

第二十章 坦克大战3_第6张图片
第二十章 坦克大战3_第7张图片
第二十章 坦克大战3_第8张图片
第二十章 坦克大战3_第9张图片

4.防止敌人坦克重叠2

第二十章 坦克大战3_第10张图片

EnemyTank类 编写方法判断是否与其他坦克重叠case1

第二十章 坦克大战3_第11张图片
第二十章 坦克大战3_第12张图片
第二十章 坦克大战3_第13张图片

EnemyTank类 编写方法判断是否与其他坦克重叠case2

第二十章 坦克大战3_第14张图片
第二十章 坦克大战3_第15张图片
第二十章 坦克大战3_第16张图片

EnemyTank类 编写方法判断是否与其他坦克重叠case3

第二十章 坦克大战3_第17张图片
第二十章 坦克大战3_第18张图片

5.防止敌人坦克重叠3

EnemyTank类 限制坦克移动

第二十章 坦克大战3_第19张图片
第二十章 坦克大战3_第20张图片
第二十章 坦克大战3_第21张图片
第二十章 坦克大战3_第22张图片

MyPanel类 将集合enemyTanks设置给enenyTank

第二十章 坦克大战3_第23张图片

6.记录玩家成绩1

第二十章 坦克大战3_第24张图片

7.记录玩家成绩2

第二十章 坦克大战3_第25张图片

MyPanel类 编写方法显示我方击毁敌方坦克数

第二十章 坦克大战3_第26张图片
在paint方法中调用
第二十章 坦克大战3_第27张图片

Recorder类 新建Recorder类记录相关信息和文件交互

第二十章 坦克大战3_第28张图片
第二十章 坦克大战3_第29张图片

MyPanel类 调整showInfo方法与hitTank方法

第二十章 坦克大战3_第30张图片
首先要判断被击毁的坦克是敌方坦克
第二十章 坦克大战3_第31张图片
第二十章 坦克大战3_第32张图片
第二十章 坦克大战3_第33张图片

Recorder类 添加方法利用IO流保存数据

第二十章 坦克大战3_第34张图片
第二十章 坦克大战3_第35张图片

HspTankGame类 在存盘退出时调用keepRecord方法

当我们x掉窗口时,存盘退出
第二十章 坦克大战3_第36张图片
保存成功
第二十章 坦克大战3_第37张图片

8.记录敌人坦克信息

第二十章 坦克大战3_第38张图片

Recorder类 升级keepRecords方法

第二十章 坦克大战3_第39张图片
第二十章 坦克大战3_第40张图片

MyPanel类 将集合enemyTanks赋给Records类中的enemyTanks

第二十章 坦克大战3_第41张图片
保存成功
在这里插入图片描述

9.继续上局游戏1

发现将敌人信息作为一个字符串,后续操作十分麻烦,但将其保存为一个node对象,候选操作会简单很多
第二十章 坦克大战3_第42张图片

10.继续上局游戏2

Node类 表示敌人坦克的信息
第二十章 坦克大战3_第43张图片

Recorder类 添加保存node对象的集合

第二十章 坦克大战3_第44张图片

Recorder类 新增方法读取recordFile

第二十章 坦克大战3_第45张图片
第二十章 坦克大战3_第46张图片
第二十章 坦克大战3_第47张图片

MyPanel类 调用方法

第二十章 坦克大战3_第48张图片
第二十章 坦克大战3_第49张图片

MyPanel类 构造器传入一个key判断是否开新游戏

第二十章 坦克大战3_第50张图片
第二十章 坦克大战3_第51张图片
第二十章 坦克大战3_第52张图片
第二十章 坦克大战3_第53张图片
第二十章 坦克大战3_第54张图片

HspTankGame类 输入key值

第二十章 坦克大战3_第55张图片

11.坦克大战音乐

第二十章 坦克大战3_第56张图片
第二十章 坦克大战3_第57张图片
第二十章 坦克大战3_第58张图片
第二十章 坦克大战3_第59张图片

第二十章 坦克大战3_第60张图片

MyPanel类 开启线程

第二十章 坦克大战3_第61张图片

Recorder类 改变文件存储位置

第二十章 坦克大战3_第62张图片
第二十章 坦克大战3_第63张图片

MyPanel类 处理文件异常问题

如果一开始就选择2继续上局游戏,会抛出异常
第二十章 坦克大战3_第64张图片
第二十章 坦克大战3_第65张图片
第二十章 坦克大战3_第66张图片

你可能感兴趣的:(JAVA第二阶段2,开发语言,java)