from time import sleep # importeer functie sleep uit module time
from machine import Pin # importeer functie Pin uit module machine
led_1 = Pin(0,Pin.OUT) #kent led toe
led_2 = Pin(1,Pin.OUT) #kent led toe
led_3 = Pin(2,Pin.OUT) #kent led toe
led_4 = Pin(3,Pin.OUT) #kent led toe
led_9 = Pin(8,Pin.OUT) #kent led toe
led_10 = Pin(9,Pin.OUT) #kent led toe
led_11 = Pin(10,Pin.OUT) #kent led toe
led_12 = Pin(11,Pin.OUT) #kent led toe
pb_ply1 = Pin(18,Pin.IN) #kent knop toe
pb_ply2 = Pin(19,Pin.IN) #kent knop toe
while True: #eeuwige lus
start = 1 #kent variable een waarde toe
tel = 2 #kent variable een waarde toe
levensply1 = 3 #kent variable een waarde toe
levensply2 = 3 #kent variable een waarde toe
lvl = 0.75 #kent variable een waarde toe
lvldisplay = 1 #kent variable een waarde toe
def pongping(l1,l2,l3,l4,l9,l10,l11,l12): #definieert
led_1.value(l1) #verandert status naargelang parameter
led_2.value(l2) #verandert status naargelang parameter
led_3.value(l3) #verandert status naargelang parameter
led_4.value(l4) #verandert status naargelang parameter
led_9.value(l9) #verandert status naargelang parameter
led_10.value(l10) #verandert status naargelang parameter
led_11.value(l11) #verandert status naargelang parameter
led_12.value(l12) #verandert status naargelang parameter
sleep(lvl) #slaapt een tijd naargelang het level
print("level: ",lvldisplay) #toont level
while levensply1 > 0 and levensply2 > 0: #loopt zolang ze allebij genoeg levens hebben
if tel == 2 or tel == 1: #Voor makkelijker te spelen kun je nog op 1 terugslagen
if pb_ply1.value() == 1: #als player 1 zijn knop is ingedrukt
start = 1 #slaagt terug
if lvldisplay < 10: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.95 #level word een andere waarde toegekent
elif lvldisplay < 35: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.97 #level word een andere waarde toegekent
elif lvldisplay < 50: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.98 #level word een andere waarde toegekent
elif lvldisplay < 75: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.99 #level word een andere waarde toegekent
else: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.998 #level word een andere waarde toegekent
lvldisplay = lvldisplay + 1 #variable wordt toegekent
print("level: ",lvldisplay) #laat de level zien
if tel == 64 or tel == 128: #Voor makkelijker te spelen kun je nog op 2048 terugslagen
if pb_ply2.value() == 1: #als player 1 zijn knop is ingedrukt
start = 0 #slaagt terug
if lvldisplay < 10: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.95 #level word een andere waarde toegekent
elif lvldisplay < 35: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.97 #level word een andere waarde toegekent
elif lvldisplay < 50: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.98 #level word een andere waarde toegekent
elif lvldisplay < 75: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.99 #level word een andere waarde toegekent
else: #moeilijkheidsgraden hoger lvl
lvl = lvl * 0.998 #level word een andere waarde toegekent
lvldisplay = lvldisplay + 1 #variable wordt toegekent
print("level: ",lvldisplay) #laat de level zien
if tel == 1: #als tel een nummer is
pongping(1,0,0,0,0,0,0,0) #pongping word uigevoerd
levensply1 = levensply1 - 1 #levens word een andere waarde toegekent
print("levens player 1: ",levensply1) #toont de levens
start = 1 #wordt teruggeslagen
sleep(1) #wacht even
if tel == 2: #als tel een nummer is
pongping(0,1,0,0,0,0,0,0) #pongping word uigevoerd
if tel == 4: #als tel een nummer is
pongping(0,0,1,0,0,0,0,0) #pongping word uigevoerd
if tel == 8: #als tel een nummer is
pongping(0,0,0,1,0,0,0,0) #pongping word uigevoerd
if tel == 16: #als tel een nummer is
pongping(0,0,0,0,1,0,0,0) #pongping word uigevoerd
if tel == 32: #als tel een nummer is
pongping(0,0,0,0,0,1,0,0) #pongping word uigevoerd
if tel == 64: #als tel een nummer is
pongping(0,0,0,0,0,0,1,0) #pongping word uigevoerd
if tel == 128: #als tel een nummer is
pongping(0,0,0,0,0,0,0,1) #pongping word uigevoerd
start = 0 #word teruggeslagen
levensply2 = levensply2 - 1 #levens word een andere waarde toegekent
sleep(1) #wacht even
print("levens player 2: ",levensply2) #toont de levens
if start == 1: #als start een is
tel = tel * 2 #verandert tel
if start == 0: #als start 0 is
tel = tel / 2 #verandert tel
if levensply1 == 0:
for i in range(3): #3 keer
led_1.value(1) #past status led aan
sleep(0.5) #wacht even
led_1.off() #past status led aan
sleep(0.5) #wacht even
if levensply2 == 0:
for i in range(3): #3 keer
led_12.value(1) #past status led aan
sleep(0.5) #wacht even
led_12.off() #past status led aan
sleep(0.5) #wacht even
led_1.off() #past status led aan
led_2.off() #past status led aan
led_3.off() #past status led aan
led_4.off() #past status led aan
led_9.off() #past status led aan
led_10.off() #past status led aan
led_11.off() #past status led aan
led_12.off() #past status led aan
while pb_ply1.value() == 0 or pb_ply2.value() == 0: #totdat beide knoppen zijn ingedrukt
sleep(0.1) #slaapt 0.1 seconden