请将jw04的迷宫任务改造为一个ruguelike的葫芦娃与妖精两方对战游戏,游戏如下图所示。
需求如下:
- 每个生物体都是一个线程
- 每个生物体的移动、攻击等行为决策可使用Minimax或其他算法(可参考https://www.baeldung.com/java-minimax-algorithm)
- 请特别注意线程race condition(两个生物体不能占据同一个tile,对同一生物体的两个攻击行为应该先后发生作用,等)
- 请发挥想象力
- 完成后录屏发qq群或小破站
请为jw05提供游戏保存功能,可包括但不限于:
- 地图保存/地图加载;
- 进度保存/进度恢复;
- 游戏过程录制/回放。
此外:
- 请使用maven进行所有第三方库的依赖管理和项目自动化构建;
- 请为自己的代码编写junit单元测试用例,代码测试覆盖率不低于50%(vscode请使用Coverage Gutters扩展,intellij IDEA请run with coverage)。
请将jw05改造为支持网络对战的版本,具体要求如下:
- 要求支持多方(大于两方)对战;
- 要求使用NIO Selector实现;
- 要求通信过程全局状态一致(所有玩家看到的游戏过程完全一样),可通过各方分别录制游戏过程后进行比对验证。