一、游戏规则介绍
1、初始时3个牧师和3个魔鬼都在开始河岸
2、船上最多可载俩人,且只能在有人时才可移动
3、点击角色,可让角色离船上岸或离岸上船
4、点击船,可让船移动到对岸
5、当某一河岸的魔鬼多于牧师时,游戏结束,玩家失败
6、当所有角色到达对岸时,游戏结束,玩家成功
游戏中涉及的事物有牧师,魔鬼,船,开始河岸,结束河岸
二、玩家动作表
玩家动作 | 条件 | 结果 |
点击牧师/魔鬼 | 游戏未结束,所点角色与船在同侧 | 角色离船上岸或离岸上船 |
点击船 | 游戏未结束且船上有人 | 船移动到对岸 |
三、UML图及MVC架构说明
- 模型(Model):RoleModel、CoastModel、BoatModel
- 控制器(Controller):接受用户事件,控制模型的变化
- 界面(View):显示模型,将人机交互事件交给控制器处理
- 处收 Input 事件
- 渲染 GUI ,接收事件
四、代码难点介绍
代码的注释已经很详细了,这里重点将一个难点,就是移动,点击角色,在可执行情况下,角色会从岸到船,或从船到岸,不难发现,这里的移动可以分为2步,上下方向的移动和左右方向的移动
五、游戏结果
b站视频:https://www.bilibili.com/video/BV1Ew411X7RD/?spm_id_from=333.999.0.0