/flyingchess

My homework

Primary LanguageJava

Java

骑士飞行棋作业

11.8

找到并修复了一个可能会导致数组越界的bug

11.12

开始重构

  1. 地图拆分为地图和格子
    1. 地图只做输出
    2. 格子作为成员对象在地图里面
    3. 格子类作为父类 不同的功能作为不同的子类 父类里有位置属性 子类有形状属性功能方法输出方法 运用向上造型
    4. 使用接口技术 定义一个格子功能的接口 在不同的格子里实现它
  2. 游戏拆分为玩家类和回合类
    1. 玩家具有名字、位置的属性掷色子的方法,玩家名字不能重复,所以还需要一个名字的枚举类型和一个检测名字是否使用过的类
    2. 回合用来判断是否结束 以及进行格子里功能

11.14

按照老师给的重构框架 基本完成

已知bug:在应该输入数字的时候输入字符串就会崩 如果要改就在String的input方法里检测一下是不是数字 如果是就返回数字 不想改了。。

总体思路:

  1. 把格子作为一个接口 然后每一种格子都有图形和功能
  2. 把需要打印出来的 与输入无交互的那些东西分到一个GameDisplay的类
  3. 把所有的用户输入作为一个类 这里好像是弄巧成拙了 理由如bug所示。。
  4. 将一些两个玩家都要执行的语句归在一个方法里面,减少代码冗余