Minesweeper

Javascript leren

Het namaken van Minesweeper was mijn eerste Javascript leerproject, na wat kleine oefeningen met de basis syntax en jquery. Volgens de opdracht moesten meerdere instanties van het spel kunnen draaien in de web browser. Er moest ook de mogelijk komen om via een simpele UI zelf wat aan het spel te kunnen sleutelen. De grootte van spelveld en het aantal bommen kunnen ingevoerd worden en op basis daarvan wordt er een spel gestart.

De voorkant is een pagina waar een aantal geïnstantieerde spelvelden met verschillende formaten staan, en de mogelijkheid om zelf een spel te configureren. Het spel zelf bestaat uit een grid van blok elementen waarmee via click events het spel gespeeld kan worden. Deze elementen zijn via een ajax call als html templates ingeladen.

Er moest gelet worden op naamgeving van functies en variabelen. Bij het schrijven van business logic moest er gedacht worden over welke functies welke verantwoordelijkheid krijgen. Een van de moeilijkere dingen was het schrijven van een functie die bij het klikken van een vakje ervoor zorgt dat de juiste vakjes opengaan. Deze functie moest vanaf het aangeklikte vakje recursief om zich heen gaan kijken en op basis gamelogic de juiste handelingen doen. Dit was een goede les in loopen en arrays filteren.