""" filename:gpio_rpi_copyme.py Further Project - Copy Me written by Trevor Olsson © GPIO Support Services LTD MMXVII More info here: https://www.gpio.co.uk/copy-me/ """ from gpiozero import LED, Button import time from random import randint import os import sys import serial count = 0 Shopping = "" Btn = 0 Bool = False Clickeyness = 0.1 score = 0 Round = 0 filename = "Scores.txt" LED1 = LED(17) LED2 = LED(18) LED3 = LED(27) LED4 = LED(22) Btn1 = Button(4,pull_up=False) Btn2 = Button(14,pull_up=False) Btn3 = Button(15,pull_up=False) Btn4 = Button(25,pull_up=False) serPort = serial.Serial("/dev/ttyACM0", 115200, timeout=1) # open serial port serPort.write(b" ") time.sleep(1) serPort.write(b"-XXXX") time.sleep(1) serPort.write(b"X-XXX") time.sleep(1) serPort.write(b"XX- ") time.sleep(1) serPort.write(b"XXX- ") time.sleep(1) serPort.write(b"XXXX-") time.sleep(1) serPort.write(b"start") time.sleep(1) serPort.write(b" ") def exitMe(): serPort.close() sys.exit() while count < 143 or Bool == False: RandomNum = randint(1, 4) Shopping = Shopping + str(RandomNum) count = count + 1 for letter in Shopping: if letter == "1": LED1.on() time.sleep(1) LED1.off() time.sleep(0.1) elif letter == "2": LED2.on() time.sleep(1) LED2.off() time.sleep(0.1) elif letter == "3": LED3.on() time.sleep(1) LED3.off() time.sleep(0.1) elif letter == "4": LED4.on() time.sleep(1) LED4.off() time.sleep(0.1) else: LED1.on() LED2.on() LED3.on() LED4.on() time.sleep(1) LED1.off() LED2.off() LED3.off() LED4.off() time.sleep(Clickeyness) for letter in Shopping: hello = True print(letter) while hello: ##time.sleep(Clickeyness) if Btn1.is_pressed: Btn = 1 hello = False while Btn1.is_pressed: time.sleep(0.1) elif Btn2.is_pressed: Btn = 2 hello = False while Btn2.is_pressed: time.sleep(0.1) elif Btn3.is_pressed: Btn = 3 hello = False while Btn3.is_pressed: time.sleep(0.1) elif Btn4.is_pressed: Btn = 4 hello = False while Btn4.is_pressed: time.sleep(0.1) # print("if: "+str(Btn)) # print("if: "+str(letter)) if Btn != int(letter): print("You Loose") print(Btn, ":", letter) Bool = True print("Your score is " + str(score) + "!!!!") o = 0 data = [" "," "," "," "," "] out = "" serPort.write(b"- ") time.sleep(1) serPort.write(b"X- ") time.sleep(1) serPort.write(b"XX- ") time.sleep(1) serPort.write(b"XXX- ") time.sleep(1) serPort.write(b"XXXX-") time.sleep(1) serPort.write(b"loser") for char in str(score): data[o] = str(char) print("Char: " + str(char) + " Count: " + str(o)) o = o+1 for cha in data: out = out+cha serPort.write(str.encode(str(out))) Btn = 0 exitMe() else: count = count + 1 print("Next Round") # score = score + count^2 print("Your score is " + str(score) + "!!!!") Btn = 0 Round = Round + 1 score = score + Round ** 2 o = 0 data = [" "," "," "," "," "] out = "" for char in str(score): data[o] = str(char) o = o+1 for cha in data: out = out+cha serPort.write(str.encode(str(out)))