python - 课后作业 弹珠游戏

这篇博客介绍了如何使用Python模拟一个儿童弹珠游戏机。通过随机设置灯的亮灭状态和弹珠的打击位置,利用二进制和字符串切片判断游戏结果。玩家投入弹珠后,机器随机亮起若干灯光,玩家拉动按钮,如果弹珠打到亮灯则获胜。博客详细阐述了随机数生成、二进制表示及游戏逻辑的实现过程。
摘要由CSDN通过智能技术生成

儿童弹珠游戏游戏机游戏

投入一个弹珠,按开始游戏
机器下方有12个灯,会随机亮
儿童拉红色按钮,如果弹珠打到亮的灯,则赢
程序功能:
( 前置知识:随机数random )
随机设置12个灯,亮任意个
随机设置弹珠位置
判断“输赢

 

思路:

1.用一个十二位的二进制数来表示亮灯情况,1代表亮灯,0代表没有亮灯

2.用一个0-11的随机数来模拟随机取弹珠打中的位置,

3.用字符串切片的方式将弹珠打中的对应下标的数取出来,然后进行比较,看是否“赢”

# 儿童弹珠游戏
import random
# 产生一个随机数,将它转换为二进制数,作为亮灯情况
# 100000000000 -- 111111111111
num1 = random.randint(2048, 4095)
print("亮灯情况:{0:b}".format(num1))
num2 = "{0:b}".format(num1)
# 随机设置弹珠位置,在0-11里面任选一个作为弹珠位置,切片处理取出来
i = random.choice([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
print("你打中了第%d 个灯:" % (i+1))
print("弹珠打中的情况", num2[i])
if int(num2[i]) == 1:
    print("游戏结果:true")
elif int(num2[i]) == 0:
    print("游戏结果:false")

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值