找到并修复了一个可能会导致数组越界的bug
开始重构
- 地图拆分为地图和格子
- 地图只做输出
- 格子作为成员对象在地图里面
- 格子类作为父类 不同的功能作为不同的子类 父类里有位置属性 子类有形状属性功能方法输出方法 运用向上造型
- 使用接口技术 定义一个格子功能的接口 在不同的格子里实现它
- 游戏拆分为玩家类和回合类
- 玩家具有名字、位置的属性掷色子的方法,玩家名字不能重复,所以还需要一个名字的枚举类型和一个检测名字是否使用过的类
- 回合用来判断是否结束 以及进行格子里功能
按照老师给的重构框架 基本完成
已知bug:在应该输入数字的时候输入字符串就会崩 如果要改就在String的input方法里检测一下是不是数字 如果是就返回数字 不想改了。。
总体思路:
- 把格子作为一个接口 然后每一种格子都有图形和功能
- 把需要打印出来的 与输入无交互的那些东西分到一个GameDisplay的类
- 把所有的用户输入作为一个类 这里好像是弄巧成拙了 理由如bug所示。。
- 将一些两个玩家都要执行的语句归在一个方法里面,减少代码冗余