布尔机器人游戏
等级: 3-高级
布尔机器人不仅是一款有趣的游戏,而且还是帮助理解基本布尔逻辑的一个辅助工具。这款游戏有一个8x8的游戏瓷砖竞技场,你的机器人以随机速度和轨迹移动。机器人被分配了0或1的布尔值以及布尔运算符 - AND、OR、NOR、NOT。
当一个机器人与其他机器人发生碰撞时,它的布尔运算符会被应用到它自己和另一个机器人的布尔值上,以确定哪个机器人获胜或失败,或者如果碰撞结果是平局。失败的机器人会消失,获胜的机器人继续在竞技场中移动,直到只剩下一个。
要求与约束
- 开发者可以使用图形和游戏物理库来构建游戏。
用户故事
- [ ] 用户可以看到包含以下组件的游戏窗口
- 游戏配置输入面板
- 排行榜显示按分数排名的机器人
- 游戏控制
- 一个8x8的游戏瓷砖竞技场,机器人在此进行战斗
游戏配置面板
- [ ] 用户可以看到一个包含以下子组件的游戏配置面板:
- 四个机器人面板,带有控制按钮,允许用户输入独特的机器人名称,选择其布尔值和运算符,使用滑块设置机器人速度,并从下拉菜单中指定其起始方向 - 北、南、东、西
- [ ] 用户可以在输入文本框中为每个机器人输入一个独特的名称
- [ ] 如果输入的名称已经被分配给另一个机器人,用户可以看到一个错误消息。
- [ ] 用户可以从下拉菜单中选择机器人的布尔值(0或1)。
- [ ] 用户可以从下拉菜单中选择机器人的布尔运算符 - AND、OR、XOR 或 NOT。
- [ ] 用户可以移动速度滑块来设置机器人的速度
- [ ] 用户可以从方向下拉菜单中选择机器人的起始方向。
- [ ] 一旦机器人的名称被定义,用户可以看到机器人在竞技场中的一个瓷砖上随机分配。
游戏控制
- [ ] 用户可以在游戏控制面板中点击一个按钮来 'Battle!'
- [ ] 用户可以点击 'Battle!' 按钮开始竞技场中的机器人战斗。
- [ ] 用户可以看到根据分配给它们的速度和方向移动的机器人。
- [ ] 用户可以看到 'Battle!' 按钮文本变为 'Stop!' 一旦战斗开始。
- [ ] 用户可以点击 'Stop!' 按钮停止游戏
- [ ] 用户可以看到 'Stop!' 按钮文本在单轮比赛中恢复为 'Battle!' 一旦有一个机器人赢得了比赛。
竞技场
- [ ] 用户可以看到机器人在竞技场的边界墙上反弹到一个新的方向
- [ ] 用户可以看到机器人在碰撞时暂停一下。
- [ ] 用户可以看到在布尔运算符应用于其布尔值后,与其碰撞的机器人的结果为0时,该机器人消失。
- [ ] 用户可以看到在碰撞中获胜的机器人以相同的速度和方向继续其路径。
- [ ] 用户可以看到在平局的情况下,两个正在碰撞的机器人以相同的速度和方向继续其路径。换句话说,当碰撞产生了两个相同的布尔结果(0或1)时。
- [ ] 用户可以看到当只剩下一个机器人时,游戏停止。
排行榜
- [ ] 用户可以在排行榜上看到每个机器人的胜利和失败次数
- [ ] 用户可以看到因赢得碰撞而增加的胜利计数器。
- [ ] 用户可以看到因失去碰撞而减少的失败计数器。
额外功能
- [ ] 用户可以看到一个显示游戏里程碑详细信息的日志面板。 提示:这对于开发者在开发和调试过程中可能非常有用。
- [ ] 用户可以看到一个显示当前已过去秒数的游戏时钟。
- [ ] 用户可以选择机器人的起始方向为北、东北、东南、南、西南、西或西北。
- [ ] 用户可以指定竞技场的尺寸。
- [ ] 用户可以从图标调色板中选择一个独特的机器人图标。一旦图标被分配,它们就会被禁用。
- [ ] 用户可以在排行榜上以某种方式突出显示获胜次数最多的机器人。
有用的链接和资源
示例项目
- N/a