"""
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)))
Comments