游戏编程:从石头剪刀布到Nim游戏的技术实现与策略分析
在游戏编程领域,我们可以通过不同的方式来实现各种有趣的游戏。下面将详细介绍石头剪刀布游戏的改进版本以及Nim游戏的多种实现方式。
石头剪刀布游戏改进版
在这个版本的石头剪刀布游戏中,使用数字来代表游戏中的符号,因为LED会显示每一轮的结果,而按钮也已经清晰标注,所以不需要实际的字符串名称。不过,为了明确这些“魔法数字”的含义,在代码中使用了注释进行说明。所谓“魔法数字”,就是用来代表其他事物的数字,如果没有注释或其他标识手段,很难理解程序中一个孤立数字的代表意义。因此,建议避免使用未注释的魔法数字。
该程序的逻辑与之前的版本相同,但输入和输出方式有了很大变化,现在使用按钮和LED。下面详细介绍LED输出和输入引脚的处理方式。
LED输出设置
首先选择引脚编号方案,这里仍然使用BCM,因为它与树莓派扩展板的引脚编号相匹配。然后设置输出引脚,分别是4、17和27,分别代表赢、输和平局。设置输出引脚的代码如下:
GPIO.output(n, GPIO.HIGH) # where n = pin number
为了让用户能够清楚地看到哪个LED亮起,在每个LED输出命令后添加了暂停5秒的代码:
time.sleep(5)
如果没有这个暂停,LED会快速亮起和熄灭,人眼很难察觉。
输入引脚处理:轮询和中断
处理
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



