You are on page 1of 3

#Eise Vermaak 4D

#20-12-2021
from microbit import *
import random
maxX = 4
maxY = 4
maxSets = 12

plaatjes = [Image.HAPPY, Image.SAD, Image.SQUARE, Image.TRIANGLE, Image.HEART,


Image.ANGRY, Image.RABBIT, Image.COW, Image.SKULL, Image.SNAKE, Image.ARROW_NE,
Image.DIAMOND,Image.HAPPY, Image.SAD, Image.SQUARE, Image.TRIANGLE, Image.HEART,
Image.ANGRY, Image.RABBIT, Image.COW, Image.SKULL, Image.SNAKE, Image.ARROW_NE,
Image.DIAMOND]

memoryGrid = [ [5,5,5,5,5], [5,5,5,5,5], [5,5,0,5,5], [5,5,5,5,5], [5,5,5,5,5] ]


plaatjesGrid = [ [5,5,5,5,5], [5,5,5,5,5], [5,5,0,5,5], [5,5,5,5,5], [5,5,5,5,5] ]

gridX = 2
gridY = 2
lastX = 2
lastY = 2

beurt = 1
pogingen = 0
vorigPlaatje = ""
actPlaatje = ""
aantalSets = 0

def MaakSpeelVeld ():


tmpLijst = plaatjes
for x in range (0,maxX+1):
for y in range (0, maxY+1):
# coordinaat 2,2 geen plaatjes
if not (x == 2 and y == 2):
# kies een willekeurig plaatje uit de lijst
iPlaatje = random.randint(0, len(tmpLijst)-1)
actPlaatje = tmpLijst[iPlaatje]

# wijs d8t plaatje een plaats in het grid toe


plaatjesGrid[x][y] = actPlaatje

#Verwijder het plaatje uit de lijst


del tmpLijst[iPlaatje]

display.set_pixel(x,y,9)
sleep(50)

actPlaatje = ""

def ToonSpeelVeld ():


for x in range (0,maxX+1):
for y in range (0, maxY+1):
display.set_pixel(x,y,memoryGrid[x][y])

MaakSpeelVeld()
ToonSpeelVeld()
while True:

if aantalSets < maxSets:


if button_a.was_pressed() or button_b.was_pressed():
# alleen als het plaatje wordt gegeven dan positie opslaan
# array voor beurt1 en beurt2
if memoryGrid[gridX][gridY] > 0:
# Alleen een plaatje laten zien als er een kaart ligt
vorigPlaatje = actPlaatje
actPlaatje = plaatjesGrid[gridX][gridY]
display.show(actPlaatje)
sleep(800)
ToonSpeelVeld()

if beurt == 1:
# onthou de positie van het 1ste plaatje
lastX = gridX
lastY = gridY
beurt = beurt + 1
else:
# kijk of de plaatjes hetzelfde zijn
if vorigPlaatje == actPlaatje and actPlaatje != "":
print("!!")
aantalSets = aantalSets + 1

# de huidige kaart en plaatje verwijderen


memoryGrid[gridX][gridY] = 0
plaatjesGrid[gridX][gridY] = ""
# en de vorige kaart en plaatje verwijderen
memoryGrid[lastX][lastY] = 0
plaatjesGrid[lastX][lastY] = ""
#Speelveld opnieuw tonen (met ontbrekende kaarten)
ToonSpeelVeld()
else:
pogingen = pogingen + 1

beurt = 1
#begin weer in het midden
gridX = 2
gridY = 2
lastX = 2
lastY = 2

# bij beweging wordt de x of y aangepast van speler


sleep(100)

if accelerometer.was_gesture("left"):
display.set_pixel(gridX, gridY, memoryGrid[gridX][gridY])
gridX = gridX - 1
if gridX < 0:
grid9X = 0
elif accelerometer.was_gesture("right"):
display.set_pixel(gridX, gridY, memoryGrid[gridX][gridY])
gridX = gridX + 1
if gridX > maxX:
gridX = maxX

elif accelerometer.was_gesture("up"):
display.set_pixel(gridX, gridY, memoryGrid[gridX][gridY])
gridY = gridY + 1
if gridY > maxY:
gridY = maxY
elif accelerometer.was_gesture("down"):
display.set_pixel(gridX, gridY, memoryGrid[gridX][gridY])
gridY = gridY - 1
if gridY < 0:
gridY = 0

display.set_pixel(gridX, gridY, 9)

else:
#Spel gewonnen
display.show(Image.YES)
sleep(500)
display.show(pogingen)
sleep(500)

You might also like