neue Klasse für Rotationssensor importiert, Rotationssensor mit zwei commands eingebaut

This commit is contained in:
Franziska Gerold 2025-12-18 14:05:12 +01:00
parent 67bce564c7
commit 1c09f13528

View File

@ -1,9 +1,11 @@
import random import random
import time import time
from gpiozero import Button from gpiozero import Button
from gpiozero import RotaryEncoder
laser = Button(17) laser = Button(17) #Die Zahl entspricht dem Pin auf dem ARPI600 Board
sound = Button(18, pull_up=True) sound = Button(18, pull_up=True)
rotate = RotaryEncoder(21, 20)
def score(x): def score(x):
pass pass
@ -31,18 +33,28 @@ def command_scream():
result = sound.wait_for_press(timeout=10) result = sound.wait_for_press(timeout=10)
print(f"Result: {result}") print(f"Result: {result}")
if result: if result:
time.sleep(0.3) time.sleep(0.3) #soll verhindern, dass dasGeräuschsignal aus der vorherigen Runde gezählt wird
return 1 return 1
else: else:
return -1 return -1
def command_spin(): def command_spin_clockwise():
action = input() print("waiting for spinning... clockwise!")
if action == "0": result = rotate.wait_for_rotate_clockwise(timeout=10)
if result:
return 1 return 1
else: else:
return -1 return -1
def command_spin_counter_clockwise():
print("waiting for spinning... counter clockwise!")
result = rotate.wait_for_rotate_counter_clockwise(timeout=10)
if result:
return 1
else:
return -1
def sound_was_held(): def sound_was_held():
print('You screamed long enough!') print('You screamed long enough!')
@ -51,9 +63,11 @@ def main():
result = 0 result = 0
sound.when_held = sound_was_held sound.when_held = sound_was_held
print("Let's play a Round of 'Raspberry says'!") print("Let's play a Round of 'Raspberry says'!")
list_command_choices = [command_scream, command_blind]# command_blind, command_spin, command_tilt list_command_choices = [command_spin_clockwise, command_spin_counter_clockwise] #command_spin, command_tilt, command_blind_ command_scream
while result != -1: while result != -1:
score += result # war zuerst zwei Zeilen weiter unten, hat dann aber nach einer falschen Runde den Score erhöht score += result # war zuerst zwei Zeilen weiter unten, hat dann aber nach einer falschen Runde den Score erhöht
time.sleep(0.5)
print("Get ready for the next round!")
round = random.choice(list_command_choices) round = random.choice(list_command_choices)
result = round() result = round()
print(f"Game over! Your Score is {score}") print(f"Game over! Your Score is {score}")
@ -61,4 +75,4 @@ def main():
main() main()