Den fantastiska labyrint spel för Nexys 3 (25 / 31 steg)
Steg 25: MazeArray - uppdateringen
'update_board' är den viktigaste processen i MazeArray. Det gà ¥ r på stigande kanten av upprepa klockan, definieras i Timing.
Varje iteration, om spelet inte har vunnit, och styrelsen återställs inte, processen att beräkna potentiella rörelsen baserat på riktad knappen input. Som spelare utrymmen och väggen utrymmen alternativ beräknas det potentiella nästa spelare utrymmet genom att eller två till eller från de nuvarande spelare koordinaterna i avsedd riktning. Oavsett om en vägg är i vägen eller inte kontrolleras genom att lägga till/att subtrahera en i samma riktning.
Om den potentiella platsen inte hindras av en mur (om potentiella vägg platsen inte innehåller en vägg värde), sedan skrivs den nya spelare staten över dagens spelare.
Denna process styr också spelare början utrymme initiering; När timern är en sekund ner från starttiden (nödvändigt på grund av de relativa klockfrekvenser), tilldelas player koordinaterna sina startvärden. Fler värden kan väljas som klausuler för case-sats.
Det är värt att notera att variabeln "spelaren" är en 2 långa heltalsmatris som lagrar Y och X placerar av spelaren. Detta inte gränssnittet direkt med labyrint matrisen själv på något sätt.