Simon Says - Bastelworkshop
Pi and More 6
24.01.2015

Pi and More 6
24.01.2015
Ralph H. Baer: 1922 - 2014
Benötigte Teile:
#!/usr/bin/python import time import RPi.GPIO as GPIO import random import os import sys btnExit = 21 # optional buttons = [7, 15, 13, 11, btnExit] leds = [12, 16, 18, 26]
def init(): GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) random.seed() for pin in buttons: GPIO.setup(pin, GPIO.IN, GPIO.PUD_DOWN) for pin in leds: GPIO.setup(pin, GPIO.OUT) def flashLED (cycles): for x in range(1, 2*cycles): for pin in leds: GPIO.output(pin, x%2) time.sleep(0.2) for pin in leds: GPIO.output(pin, 0) time.sleep(1.5) #init() #flashLED(1)
def beep (num): GPIO.output(leds[num], 1) #os.system("ogg123 --quiet -K1 beep"..num+1..".ogg") time.sleep(1) GPIO.output(leds[num], 0) time.sleep(0.5)
def run_game(): flashLED(3) count=0 playlist = [] runLoop=True while runLoop: playlist.append(random.randint(0, len(leds)-1)) for num in playlist: beep(num) for num in playlist: waitForUser=True while waitForUser: time.sleep(0.05) for button in buttons: if GPIO.input(button): if (button!=buttons[num]): #if button!=btnExit: os.system("ogg123 --quiet gameover.ogg") waitForUser=runLoop=False break else: beep(num) waitForUser=False break if (runLoop): flashLED(1) print ("GAME OVER") GPIO.cleanup()
init() run_game()
André Simon
RPi.GPIO (Python)