8、游戏编程:从石头剪刀布到Nim游戏的技术实现与策略分析

游戏编程:从石头剪刀布到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会快速亮起和熄灭,人眼很难察觉。

输入引脚处理:轮询和中断

处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值