Name | GameDev |
---|---|
Location | c007 |
Time | 10.30-12.30 |
Date | 14/11 |
P5 web editor
Studenten naar https://editor.p5js.org/ hun een account laten aanmaken dit kan heel makkelijk door hun account te linken aan github wat alle studenten normaal zouden moeten hebben.
P5 is een framework op de taal javasctipt(algo), het framework is speciaal ontwikkeld voor op een makkelijke manier een visuele voorstelling te creeren van een voorwerp, spel, etc.
Bij het openen van een nieuw p5 project is er direct een functie setup en een funcite draw gedeclareerd.
In setup staat createCanvas(400,400) deze functie gaat een canvas teken, dit is de oppervlakte van het spel.
In draw staat background(220) dit gaat er voor zorgen dat het canvas de witte achtergrond kleur heeft.
Draw is ook de game loop.
auto-refresh bij iedereen uit zetten anders kan de browser soms crashen.
samen met de studeten naar de wiki gaan vanop de homepage van p5 (https://p5js.org/) en dan doorklikken naar reference.
In reference scrollen naar shape en dan naar de documentatie van rect() gaan en uitleggen dat ze met deze functie een vierkant kunnen teken
In draw een vierkant teken ongeveer op het midden van het scherm van ongeveer 20 pixels groot.
rect(100, 100, 20, 20); positie x-as, positie y-as, hoogte, breedte.
variabele aanmaken en uitleggen wa een variabele is.
In setup object snake declareren
In draw basis beweging toevoegen:
In rect de x en de y positie aanpassen.
Het blokje op een makkelijke manier al eens laten bewegen en alles goed uitleggen wat net gebeurt is:
de loop van draw zou nu duidelijker moeten zijn
zorgen dat de x en y waarde duidelijk zijn in rect
Aan snake in setup een x en y direction toevoegen
Samen met studenten in de documentatie gaan kijken naar de funcite keyPressed.
De functie keyPressed toevoegen en uitleggen wat we gaan doen eventueel aan de hand van whiteboard zodat de x en y positioning duidelijk is.
switch maken om te bewegen
uit draw snake.headPossition.x en y verwijderen en een updatePosition in setup naken
in rect de grote van het vierkant aanpassen naar 1, 1
alles scale naar met behulp van variable resolution 20 en uitleggen wat scale doet
frameRate naar 5 zetten (variable) zodat het spel trager gaat.
De veriable hoogte en breedte toevoegen.
In setup:
w = floor(width / resolution);
h = floor(height / resolution);
De variable food toevoegen en initialiseren in setup.
aan food een positie toevoegen
Uitleggen dat show functie properder is en dit ook voor de snake maken
Controleren of de snake op de zelfde positie is als het eten.
In draw if structuur de posities controleren en goed uitleggen wat je juist gaat controleren.
Om te beginnen gewoon een print("opgegeten") schrijven en dan een nieuwe positie maken.
In setup aan snake een body toevoegen (lege array)
in update position een copie van het head in de body steken
aan body food toevoegen in eat functie
Body van de snake op het canvas teken.
for loop na teken van snake.
aan snake een dead object toevoegen
aan draw een check toevoegen om te kijken of de snake dood is
background(255, 0, 0);
textSize(64 / resolution);
textAlign(CENTER, CENTER);
fill(0, 100, 255);
text('GAME OVER', w / 2, h / 2);
noLoop();