每日来一赞

C2代码学习笔记(34)

2024-09-29  本文已影响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

11# 生成猎人的像素点

12 x1 = 1

13 y1=1

14

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

16 x2 = random.randint(1,8)

17 y2 = random.randint(1,8)

18

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

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

21 while True:

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

23       gdic = gyr.state()

24       # 取出字典中键'angle x'的值

25       # 保存在变量 gx中

26        gx= gdic['angle x']

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

28       # 向右倾斜

29       if gx> 110 and xl < 8:

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

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

32        # 向左倾斜

33        elif gx<70 and xl> 1:

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

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

36        # 保存在变量 gy 中

37         gy = gdic['angle y']

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

39         # 向上倾斜

40         if gy > 110 and yl > 1:

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

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

43         # 向下倾斜

44         elif gy < 70 and yl < 8:

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

46         # 清空当前显示的点

47         lm.clear()

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

49         lm.show dot(xl,y1)

50         # 绘制目标像素点

51         lm.show_dot(x2,y2)

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

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

54         if xl == x2 and yl == y2:

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

上一篇下一篇

猜你喜欢

热点阅读