C2代码学习笔记(23)
三十四、实现快速记忆游戏机
1 import ybc_robot #导入ybc robot 模块
2 import time #导入 time 模块
3 import random #导入random 模块
4
5
6 # 创建音乐模块对象 mus,接口选择 P1
7 mus =ybc robot.Music('P1')
8 #创建 LED 点阵对象 lm
9 m=ybc robot.LEDMatrix()
10 #创建红外接收器对象 ir,接口选择 P2
11 ir=ybc robot.IRReceiver('P2')
12
13 #创建空字符串 9,用于保存生成的箭头顺序(答案
14 q=" "
15 #创建题库列表 op
16 op =['上','下','左','右']
17 #创建空字符串p,用于保存用户输入的按键顺序
18 p=" "
19 #使用 for 循环语句,实现随机显示题目内容
20 for i in range(5):
21 #使用 choice()功能
22 # 从题库列表中随机选择一个箭头
23 o = random.choice(op)
24 lm.show figure(o)#显示“箭头”图形
25 # 拼接字符串,生成一组箭头顺序(答案)
26 q=q+o
27 # 播放“滴”的声音
28 mus.play music('滴')
29 time.sleep(1)#程序休眠1秒
30 # 出完题目,显示“微笑”图形
31 lm.show fgure('微笑')
32 #使用循环结构与分支结构的嵌套
33 #实现用户答题及答案验证
34 while True:
35 r=ir.value()#变量r保存用户输入的按键
36 # 如果用户输入的按键是“设置”
37 if r=='设置':
38 p=" " #清空用户输入
39 # 显示“清空”图形
40 lm.show figure('清空')
41 else: #否则
42 # 显示用户输入的按键图形
43 lm.show figure(r)
44 # 拼接字符串,获取用户输入的按键顺序
45 p =p +r
46 if p == q: #如果用户的输入与题目答案一致
47 # 显示“正确”图形
48 lm.show figure('正确·)
49 # 播放“胜利”音乐
50 mus.play_music('胜利')
51 break #作答正确,游戏结束