Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import random
- import pyfirmata
- # Connecting to arduino
- if __name__ == '__main__':
- board = pyfirmata.Arduino('COM3')
- # Defining a function to make an LED blink
- def ledBlink(num):
- board.digital[num].write(1)
- time.sleep(.1)
- board.digital[num].write(0)
- time.sleep(.1)
- # Assigning each button's variable to its pin number
- button2 = board.digital[2]
- button3 = board.digital[3]
- button4 = board.digital[4]
- button5 = board.digital[5]
- # Defining useful variables
- previous_button_state = 0
- stopper = False
- length = 0
- # Start iterator to recieve input data
- it = pyfirmata.util.Iterator(board)
- it.start()
- # Setup buttons for input
- button2.mode = pyfirmata.INPUT
- button3.mode = pyfirmata.INPUT
- button4.mode = pyfirmata.INPUT
- button5.mode = pyfirmata.INPUT
- print("Enter 'Quit' to end.")
- while stopper == False:
- pattern = []
- levels = input("Please enter the number of levels you wish to play: ")
- time.sleep(3)
- if levels == 'Quit':
- exit()
- else:
- levels = int(levels)
- levels += 1
- for count in range(levels):
- if stopper == True:
- break
- randomLed = random.randint(10, 13)
- if count != 0:
- pattern = pattern + [randomLed,]
- length += len(pattern)
- patternCheck = []
- print('Pattern: ',pattern)
- print('Checker: ',patternCheck)
- if length != 0:
- print("Level:",length)
- time.sleep(1)
- for i in range(len(pattern)):
- if stopper == True:
- break
- board.digital[pattern[i]].write(1)
- time.sleep(.5)
- board.digital[pattern[i]].write(0)
- time.sleep(.5)
- print('Pattern: ',pattern)
- print('Checker: ',patternCheck)
- while True:
- stopper1 = None
- cLength = len(pattern)
- time.sleep(0.01)
- button_state = button2.read()
- if button_state != previous_button_state:
- if button_state == 1:
- ledBlink(13)
- patternCheck = patternCheck + [13,]
- print(patternCheck)
- for lights in range (cLength):
- if patternCheck == pattern and len(patternCheck) == len(pattern):
- stopper1 = True
- print("Pattern: ",pattern)
- print("Checker: ",patternCheck)
- print("Length: ",cLength)
- previous_button_state = button_state
- time.sleep(0.01)
- button_state = button3.read()
- if button_state != previous_button_state:
- if button_state == 1:
- ledBlink(12)
- patternCheck = patternCheck + [12,]
- print(patternCheck)
- for lights in range (cLength):
- if patternCheck == pattern and len(patternCheck) == len(pattern):
- stopper1 = True
- print("Pattern: ",pattern)
- print("Checker: ",patternCheck)
- print("Length: ",cLength)
- previous_button_state = button_state
- time.sleep(0.01)
- button_state = button4.read()
- if button_state != previous_button_state:
- if button_state == 1:
- ledBlink(11)
- patternCheck = patternCheck + [11,]
- print(patternCheck)
- for lights in range (cLength):
- if patternCheck == pattern and len(patternCheck) == len(pattern):
- stopper1 = True
- print("Pattern: ",pattern)
- print("Checker: ",patternCheck)
- print("Length: ",cLength)
- previous_button_state = button_state
- time.sleep(0.01)
- button_state = button5.read()
- if button_state != previous_button_state:
- if button_state == 1:
- ledBlink(10)
- patternCheck = patternCheck + [10,]
- print(patternCheck)
- for lights in range (cLength):
- if patternCheck == pattern and len(patternCheck) == len(pattern):
- stopper1 = True
- print("Pattern: ",pattern)
- print("Checker: ",patternCheck)
- print("Length: ",cLength)
- if pattern == patternCheck:
- break
- elif stopper1 == True:
- break
- elif len(pattern) == len(patternCheck):
- if pattern != patternCheck:
- stopper = True
- break
- previous_button_state = button_state
- if stopper == True:
- print("Game Over. :(")
- else:
- print("Good Job!")
Advertisement
Add Comment
Please, Sign In to add comment