В основном я пытался создать игру Simon в Raspberry Pi, используя три светодиода и три кнопочных переключателя, но, похоже, это не сработало.Simon - игра, в которой вспыхивает случайная серия огней, количество огней мигает с каждым раундом, и игрок должен нажимать соответствующие кнопки по порядку.Есть три светодиодных индикатора и три нажимных кнопки.Не могли бы вы помочь мне?
import time
import random
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(23,GPIO.IN)
GPIO.setup(19,GPIO.IN)
GPIO.setup(40,GPIO.IN)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.OUT)
GPIO.setup(38,GPIO.OUT)
def main():
colours = []
while True:
choice = random.randint(0, 2)
print(choice)
colours.append(choice)
for c in colours:
if c == 0:
GPIO.output(11,True)
time.sleep(0.5)
GPIO.output(11,False)
time.sleep(0.5)
if c == 1:
GPIO.output(13,True)
time.sleep(0.5)
GPIO.output(13,False)
time.sleep(0.5)
if c == 2:
GPIO.output(38,True)
time.sleep(0.5)
GPIO.output(38,False)
time.sleep(0.5)
count = 0
undone = True
while undone:
if count >= len(colours):
print("Correct!")
break
elif not GPIO.input(19):
if colours[count] == 0:
count = count + 1
while not GPIO.input(19):
print("bluecorrect")
continue
else:
print("You are wrong!")
GPIO.cleanup()
quit()
elif not GPIO.input(23):
if colours[count] == 1:
count = count + 1
while (not GPIO.input(23)):
print("redcorrect")
continue
else:
print("You are wrong!")
GPIO.cleanup()
quit()
elif not GPIO.input(40):
if colours[count] == 2:
count = count + 1
while not GPIO.input(40):
print("greencorrect")
continue
else:
print("You are wrong!")
GPIO.cleanup()
quit()
else:
continue
try:
main()
except KeyboardInterrupt:
GPIO.cleanup()