使用变量触发定义

时间:2021-03-03 22:12:01

标签: python

python 的新手,所以这可能很傻,但是我在使用变量触发定义时遇到了一些麻烦。本质上,我正在使用 Raspberry Pi 和 Sense Hat 制作一个简单的视频游戏,并尝试将我的游戏的不同部分存储在定义中,以便我可以轻松订购它们。

我已经简化了代码以仅显示我遇到问题的逻辑这里我在每个定义的序列(它只是在 LED 矩阵上设置像素)末尾向 seq 变量添加 1,然后使用if 语句根据 seq 的值执行不同的定义。问题是在第一个定义之后它不会执行任何代码。

感谢您提供任何帮助,如果发布位置或格式错误,请告诉我,以便我进行修复(第一次发布)。

import time
from sense_hat import SenseHat
from time import sleep

sense = SenseHat()

b = (0, 102, 102) # blue
w = (200, 200, 200) # White
y = (204, 204, 0) # Yellow
e = (0, 0, 0) # Empty
gr = (0,100,0)
g = (0,250,0)

startScreen = [
    e, e, e, e, e, e, e, e,
    e, e, w, e, e, e, e, e,
    e, e, w, w, w, e, e, e,
    e, e, w, w, w, w, e, e,
    e, e, w, w, w, w, e, e,
    e, e, w, w, w, e, e, e,
    e, e, w, e, e, e, e, e,
    e, e, e, e, e, e, e, e
]

judge = [
    e, e, e, w, w, e, e, e,
    e, e, w, w, w, w, e, e,
    e, e, w, w, w, w, e, e,
    e, e, e, w, w, e, e, e,
    e, e, b, w, w, b, e, e,
    e, b, b, b, b, b, b, e,
    e, b, b, b, b, b, b, e,
    e, b, b, b, b, b, b, e
]

seq = 0

while True:

    def test():
        sense.set_pixels(startScreen)
        sleep(1)
        seq = 1
    
    def test2():        
        sense.clear()
        sense.set_pixels(judge)
   
    if seq == 0:
        test()
    
    if seq == 1:
        test2()

0 个答案:

没有答案