每日来一赞

C2代码学习笔记(35)

2024-10-01  本文已影响0人  寸寸生

四十、像素猎人游戏机

(三)控制“猎人”,捕 获像素点后播放“正确”音乐

1 import ybc_robot  #导入ybc_robot 模块

2 import ybc_tools  #导入ybc_tools 模块

3 import random  #导入random模块

4

5

6 # 创建 LED 点阵对象 lm

7 lm=ybc_robot.LEDMatrix()

8 #创建陀螺仪对象 gyr

9 gyr= ybc_robot.Gyro()

10 #创建音乐模块对象 mus,接口选择 P1

11 mus = ybc_robot.Music('P1')

12

13 #生成猎人的像素点

14 x1=1

15 y1 =1

16

17 #随机生成猎人需要捕获的目标像素点

18x2=random.randint(1,8)

19y2=random.randint(1,8)

20

21 #使用循环结构与多分支结构的嵌套

22 #开始控制猎人左、右、上、下移动捕获目标像素点

23 while True:

24      # 获取陀螺仪检测的数据,保存在变量

25       gdic 中gdic = gyr.state()

26       #取出字典中键'angle_x'的值

27       # 保存在变量 gx 中

28        gx = gdic['angle x']

29       # 如果 gx 的值大于 110 并且 x1 的值小于 8

30       # 向右倾斜

31        if gx>110 and xl < 8:

32             x1 = x1 +1 #像素点向右移动 1格

33        # 否则如果 gx 的值小于 70 并且 x1 的值大于 1

34        # 向左倾斜

35        elif gx < 70 and xl > 1:

36         x1 = x1 - 1 #像素点向左移动1格

37         # 取出字典中键'angle y'的值

38         # 保存在变量 gy 中

39         gy = gdic['angle y']

40         # 如果 gy 的值大于 110 并且 y1 的值大于 1

41         # 向上倾斜

42         if gy > 1l0 and yl > 1:

43         y1 = y1 - 1 #像素点向上移动1格

44         # 否则如果 gy 的值小于 70 并且 y1 的值小于 8

45         # 向下倾斜

46         elif gy < 70 and yl < 8:

47             y1 = y1 + 1 #像素点向下移动1格

48         # 清空当前显示的点

49         lm.clear()

50         # 绘制猎人移动后的像素点

51         lm.show dot(xl, y1)

52         # 绘制目标像素点

53         lm.show dot(x2,y2)

54         # 判断是否捕捉到目标像素点

55         # 如果猎人移动的像素点和目标像素点位置一致

56         if x1 == x2 and yl == y2:

57         # 播放“正确"音乐

58         mus.play music('正确')

59         break #退出程序,游戏结束

上一篇下一篇

猜你喜欢

热点阅读