We gaan Snake bouwen voor in de browser.
Introductie

Snake is een mobiele video game geïntroduceerd op een Nokia telefoon in 1998.
Spelregels
Het doel van het spel Snake is om zoveel mogelijk fruit te eten (dit is je score). Hoe meer je eet, hoe langer de slang wordt en ook beweegt de slang sneller. Als de slang tegen zichzelf botst of buiten het scherm gaat is het game over.
Dus om Snake te bouwen moet het spel het volgende doen:
- Beweeg de slang met de pijltjestoetsen
- Plaats op een willekeurige plek fruit
- De slang moet het fruit kunnen eten
- Als er fruit gegeten is moet de slang sneller bewegen
- Als er fruit gegeten is moet de slang langer worden
- Als er fruit gegeten is krijg je een punt
- Als de slang tegen zichzelf botst, is het game over
- Ook als de slang buiten het scherm gaat is het game over
Nu we de spelregels duidelijk hebben en weten wat het spel moet gaan doen, is het tijd om Snake te gaan bouwen!
Wat heb je nodig?
Een text editor als Visual Studio Code en natuurlijk een browser zoals Chrome.
Instructie
1. HTML
We beginnen met de basis. Maak een nieuw bestand aan met bijvoorbeeld de naam snake.html. Kopieer en plak daarin
onderstaande code. Als je het bestand opent in Chrome, zie je een groot vierkant.
| |
2. Een appel
We gaan nu aan de slag met Javascript en beginnen met het tekenen van een appel:
Voeg toe op regel 17 in de vorige code:
| |
En tussen de <script> en </script> tags:
| |
Je ziet nu linksboven in het vierkant een rode cirkel: de appel.
We hebben best veel code nodig gehad, maar regels 1 t/m 8 zijn nodig ter voorbereiding van tekenen en de indeling van het vierkant in kleine vakjes van 25 bij 25 pixels.
function tekenAppel() tekent tenslotte de rode cirkel.
3. De kop van de slang
Voeg toe na regel const appel = { x: 0, y: 0 };:
| |
En dan voor regel tekenAppel();:
| |
En na regel tekenAppel();:
| |
Licentie
Deze instructies worden, net als alle andere instructies van CoderDojo Nijmegen, aangeboden onder een Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Licentie.
