Module Programmeren in Javascript

Maat: px
Weergave met pagina beginnen:

Download "Module Programmeren in Javascript"

Transcriptie

1 Module Programmeren in Javascript

2 Spel: PONG Pong: uiterlijk In deze module zullen we alle onderdelen die we tot nu toe geleerd hebben samen brengen in het spel Pong. We willen dat het spel er uiteindelijk zo uit komt te zien: Het maken van dit spel zullen we in een aantal stappen onder verdelen: Uiterlijk van het spel De bal automatisch laten bewegen De bat laten bewegen (incl luisteren naar keyboard) Score bijhouden Uitbreidingen (hele breedte van window, bats en ball plaatsen aan de hand van die breedte etc.) Dit is het eerste onderdeel van het maken van een spel en doe je voordat je begint met het echte programmeren. Hiervoor zit eigenlijk nog het verzinnen welk spel je gaat maken en hoe je precies wilt dat het speelt. Het verzinnen van het spel en hoe het speelt hebben we in dit geval alvast voor je gedaan. Nu ben je bij het gedeelte voor het uiterlijk. In dit voorbeeld is ervoor gekozen om een zwarte achtergrond te maken en alles wat erop getekend (de bats, de bal en de tekst) wordt wit te maken. Hiervoor heb je in processing een aantal functies: background() voor de achtergrond kleur, fill() en rect() voor de kleur en plaats en grootte van je bats en fill() en text() voor de kleur en positie van je tekst. We beginnen met het maken van een spel op grootte 800 bij 600. Je hebt natuurlijk (zoals altijd) de twee standaard functies nodig: setup() en draw(). Hieronder de code met commentaar: void setup() void draw() rect(20, 280, 20, 40); //draw left bat rect(760, 280, 20, 40); //draw right bat ellipse(400, 300, 30, 30); //draw ball textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window) Opdrachten: Waarom is op regel 12 de x-positie (eerste parameter) van de rechter bat 760? Pas de code aan zodat de verschillende onderdelen die getekend worden (bats, bal en tekst) allemaal verschillende kleuren hebben.

3 Pong: bewegende bal In het vorige onderdeel heb je het uiterlijk van het spel gemaakt. Als je dat eenmaal af hebt wil je natuurlijk dat je kan spelen. Dit wordt uitgelegd in een aantal paragrafen waarbij we beginnen met het bewegen van de bal. Zoals je in het vorige hoofdstuk met het voorbeeld van het bewegen van de vormen hebt gezien komt beweging er eigenlijk op neer dat alles steeds opnieuw getekend wordt maar dan op nieuwe posities. Omdat dat zo snel gebeurt lijkt het voor ons mensen alsof het een vloeiende beweging is. Bij de eerste stap hebben we de bal getekend, nu moeten we zorgen dat daar beweging in komt. We hebben de bal getekend door de volgende functie aan te roepen: ellipse(400, 300, 30, 30). Willen we hem nu laten bewegen moeten we zorgen dat we de x- en y-coördinaat variabel maken en niet van te voren op een vast punt zetten. Dit doen we weer door twee (globale) variabelen te definiëren: ballx en bally. In eerste instantie tekenen we de bal op positie (400,300) dus zetten we in de setup() functie de volgende regels: ballx = 400; en bally = 300;. Daarna moet je de bal telkens een stukje verder tekenen dus moet je de variabele enigszins aanpassen. Dit doen we door de volgende regels code: ballx += 5; en bally += 5;. De code met bewegende bal ziet er dan nu zo uit: //globale variabele var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball void draw() rect(20, 280, 20, 40); //draw left bat rect(760, 280, 20, 40); //draw right bat ellipse(ballx, bally, 30, 30); //draw ball ballx += 5; //move the ball 5 pixels in the x-direction bally += 5; //move the ball 5 pixels in the y-direction textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window) Als je deze code draait zal je zien dat de bal uit het scherm verdwijnt. Dit willen we natuurlijk niet laten gebeuren. We willen dat de bal van de zijkanten stuitert. Niet alle zijkanten moet de bal af stuiteren. Alleen de boven en onder zijkant, de linker en rechter zijkant moet de bal wel doorheen kunnen (dan is er door iemand een punt gescoord). Voor het stuiteren van een object tegen de rand heeft processing jammer genoeg geen functie gemaakt. Dit betekent dat we zelf moeten controleren of de bal de zijkant bereikt heeft of niet. Pong: Botsing bal met muur We hebben in de code de variabele ballx en bally gekozen als de x- en y-coördinaat voor de bal. Elke keer dat de functie draw() weer uitgevoerd wordt, worden de waarden met 5 opgehoogd (regel 20 en 21). Dit zorgt ervoor dat het lijkt alsof de bal beweegt (feitelijk wordt de bal steeds opnieuw getekend). Met behulp van deze coördinaten kunnen ook kijken of de bal tegen een muur is gebotst. We hoeven alleen de boven en onderkant te doen op dit moment. Zoals je ondertussen weet wordt de verticale richting van het scherm waarop

4 getekend wordt weergegeven met de y-as. Voor de botsing met de boven- en onderkant betekend het dat er gekeken moet worden of de y-coördinaat van de bal de bovenkant of de onderkant bereikt (de grootte van het scherm is 800x600, dus bally moet altijd groter dan 0 zijn en kleiner dan 600). //globale variabele var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball void draw() rect(20, 280, 20, 40); //draw left bat rect(760, 280, 20, 40); //draw right bat ellipse(ballx, bally, 30, 30); //draw ball if(bally > 0 && bally < 600) //if ball is in canvas bally += 5; //move the ball 5 pixels down in the y-direction else if(bally > 600) //if ball is under the lower wall bally -= 5; //move the ball 5 pixels up in the y-direction else if(bally < 0) //if ball is under the lower wall bally += 5; //move the ball 5 pixels down in the y-direction ballx += 5; //move the ball 5 pixels in the x-direction textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window) Als je deze code draait zie je dat de bal binnen het scherm blijft (boven en onder). Wat er nu gebeurt is dat de bal op de onderkant blijft plakken (doe je bij regel 20 -= ipv += gebeurt hetzelfde maar dan aan de bovenkant). Hoe dat komt... zodra de bal erbuiten valt worden er 5 pixels vanaf getrokken maar dan valt hij weer binnen het scherm en zullen er weer 5 bij opgeteld worden zodat de bal er weer buiten valt, zo blijf je oneindig in deze loop van +5 en -5. Zodra de bal dus buiten het scherm valt wil je de richting omdraaien i.p.v. dat je bally van +5 naar -5 doet. Hiervoor hebben we een beetje (simpele) wiskunde nodig.

5 Pong: richting van de bal berekenen We hebben er hierboven voor gekozen om de bal te laten bewegen door de x- en y-coördinaat met een vast getal aan te passen. Zoals we gezien hebben kunnen we dat beter doen door een richting te kiezen (zodat we die bij botsingen eenvoudig kunnen veranderen). Om richtingen te berekenen kunnen we de hoeken van een rechthoekige driehoek (goniometrie) gebruiken. Hiervoor hebben we een eerste richting nodig. Deze kan je willekeurig laten kiezen (zie regel 17 en 19 hieronder). Dan bereken je de hoek waarin de bal beweegt aan de hand van deze directionx en directiony (zie regel 30). En als laatst bereken je aan de hand van de snelheid (die je van tevoren bepaald, regel 4) hoeveel pixels er in de y-richting (regel 31) en hoeveel pixels in de x-richting (regel 32) veranderen. //globale variabele var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball var ballspeed = 10; //speed of the ball var directionx = 0; //x direction of the ball var directiony = 0; //y direction of the ball var alpha = 0; //the corner of the triangle made from the directionx and directiony variable var deltax = 0; //the amount of pixels in x direction moved per step var deltay = 0; //the amount of pixels in y direction moved per step void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball directionx = Math.random()*2-1; //Math.random() gets number between 0 and 1, by //multiplying with 2 and subtracting 1 it becomes a number between -1 and 1 directiony = Math.random()*2-1; void draw() rect(20, 280, 20, 40); //draw left bat rect(760, 280, 20, 40); //draw right bat ellipse(ballx, bally, 30, 30); //draw ball alpha = Math.atan(directionY/directionX); //calculate direction deltay = ballspeed*math.sin(alpha); //change in y-coordinate according to direction deltax = ballspeed*math.cos(alpha); //change in x-coordinate according to direction if(directionx < 0) //if direction is negative (ball moves down left) ballx -= deltax; //x-coordinate has to decrease else //direction is positive (ball moves right) ballx += deltax; //x-coordinate has to increase bally += deltay; //increase the y-coordinate (deltay can be negative so ball goes //both up and down) textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window)

6 Als je de code nu een aantal keer draait zie je dat de bal verschillende richtingen op gaat. Alleen botst nog niet tegen de boven- en onderkant. Nu moeten we eigenlijk hetzelfde als net doen alleen dan kan je de richting veranderen door ipv ballx van +5 naar -5 (of andersom) doen. De code ziet er dan zo uit: //globale variabele var ball_radius = 30; //radius of the ball var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball var ballspeed = 10; //speed of the ball var directionx = 0; //x direction of the ball var directiony = 0; //y direction of the ball var alpha = 0; //the corner of the triangle made from the directionx and directiony variable var deltax = 0; //the amount of pixels in x direction moved per step var deltay = 0; //the amount of pixels in y direction moved per step void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball directionx = Math.random()*2-1; //Math.random() gets number between 0 and 1, by //multiplying with 2 and subtracting 1 it becomes a number between -1 and 1 directiony = Math.random()*2-1; void draw() rect(20, 280, 20, 40); //draw left bat rect(760, 280, 20, 40); //draw right bat ellipse(ballx, bally, ball_radius, ball_radius); //draw ball alpha = Math.atan(directionY/directionX); //calculate direction deltay = ballspeed*math.sin(alpha); //change in y-coordinate according to direction deltax = ballspeed*math.cos(alpha); //change in x-coordinate according to direction if(directionx < 0) //if direction is negative (ball moves down left) ballx -= deltax; //x-coordinate has to decrease else //direction is positive (ball moves right) ballx += deltax; //x-coordinate has to increase bally += deltay; //increase the y-coordinate (deltay can be negative so ball goes //both up and down) //collision detection //ball collides with top and bottom of screen if(bally - (0.5 * ball_radius) < 0) //top: center of ball minus half radius < 0 if(bally + (0.5 * ball_radius) > 600) //bottom: center of ball plus half radius > 600 textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window)

7 Als je deze code nu draait zie je dat de bal aan het begin alle mogelijke richtingen op gaat en als het de bovenen onderkant raakt de richting veranderd wordt. In de code hierboven is ervoor gekozen om van tevoren vast te leggen hoe groot de bal is (regel 2). Dit heeft als voordeel dat als je de bal wat groter of kleiner wilt maken je het maar op een plek hoeft aan te passen. Bij de berekening of de bal botst met de muren is er ook rekening gehouden met de straal van de bal (regel 44: als de y-coördinaat min halve radius kleiner is dan 0 dan valt de bal buiten het veld en dus moet de richting veranderd worden. Regel 46 doet hetzelfde maar dan aan de onderkant). Opdrachten: Zorg dat de bal ook van richting veranderd als een van de bats geraakt wordt. Tip: controleer de x-coördinaat van de bal (ballx) met de x-coördinaat van het binnenste gedeelte van de bat (ballx + (0.5 * ball_radius) > bat2x). Zorg ook dat de y-coördinaat van de bal binnen de y-coördinaat van de bat valt (bally > bat2y && bally < (bat2y + bat_height)). Zoals je ziet is ervoor gekozen om de bat_height en bat_width van tevoren te kiezen en te definiëren (net zoals de ball_radius in het voorbeeld hierboven).

8 Pong: bewegende bat In stap 2 hebben we ons alleen bezig gehouden met de bal: beweging en botsing. Maar om het spel te spelen moet je natuurlijk de bats laten bewegen. Dit gaan we laten doen door ervoor te zorgen dat het spel luistert naar toetsen op het toetsenbord. Er is voor gekozen om de knoppen w en s te gebruiken om de linker-bat naar boven en beneden te bewegen. De pijltjes toetsen boven en onder zijn gekozen om de rechter-bat te laten bewegen. Processing heeft voor het bekijken of een toets is ingedrukt een functie gemaakt die wij kunnen gebruiken: void keypressed(). Binnen deze functie kan je controleren welke toets er is ingedrukt. Dat doe je als volgt: //globale variabele var ball_radius = 30; //radius of the ball var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball var ballspeed = 10; //speed of the ball var directionx = 0; //x direction of the ball var directiony = 0; //y direction of the ball var alpha = 0; //the corner of the triangle made from the directionx and directiony variable var deltax = 0; //the amount of pixels in x direction moved per step var deltay = 0; //the amount of pixels in y direction moved per step var bat1x = 20; //x-coordinate of left bat var bat1y = 280; //y-coordinate of left bat var bat2x = 760; //x-coordinate of right bat var bat2y = 280; //y-coordinate of right bat var bat_width = 20; //width of a bat var bat_height = 40; //height of a bat void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball directionx = Math.random()*2-1; //Math.random() gets number between 0 and 1, //by multiplying with 2 and subtracting 1 it becomes a number between -1 and 1 directiony = Math.random()*2-1; void draw() rect(bat1x, bat1y, bat_width, bat_height); //draw left bat rect(bat2x, bat2y, bat_width, bat_height); //draw right bat ellipse(ballx, bally, ball_radius, ball_radius); //draw ball alpha = Math.atan(directionY/directionX); //calculate direction deltay = ballspeed*math.sin(alpha); //change in y-coordinate according to direction deltax = ballspeed*math.cos(alpha); //change in x-coordinate according to direction if(directionx < 0) //if direction is negative (ball moves down left) ballx -= deltax; //x-coordinate has to decrease else //direction is positive (ball moves right) ballx += deltax; //x-coordinate has t increase bally += deltay; //increase the y-coordinate (deltay can be negative so ball goes //both up and down)

9 //collision detection //ball collides with top and bottom of screen if(bally - (0.5 * ball_radius) < 0) //top: center of ball minus half radius < 0 if(bally + (0.5 * ball_radius) > 600) //bottom: center of ball plus half radius > 600 textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player //(600 = not the 600 from the size of the window) //called when a key on the keyboard is pressed void keypressed() if(key == w ) //if w is pressed move left bat up bat1y -= 5; De code is vrijwel hetzelfde als bij stap 2 met het verschil nu dat er een aantal variabele weer vast gedefinieerd zijn zodat ze makkelijk aan te passen zijn. Deze variabele zijn de x-, y-coördinaten, hoogte en breedte van de bats. Deze zijn toegepast bij het tekenen van de bats in regel 33 en 34. Verder is er de functie keypressed() aan toegevoegd om te kijken of een toets is ingedrukt (regels 59-66). Als je deze code draait kan je met de w-toets de linker bat omhoog bewegen. Opdrachten: Zorg dat je met de s-knop de linker bat omlaag beweegt. Zorg ervoor dat je met de pijltjestoets omhoog en omlaag de rechter bat beweegt. Tip: om speciale (niet-letter) toetsen op het toetsenbord te herkennen moet er nog een extra controle uitgevoerd worden: if(key == CODED) //is it a special key if(keycode == UP) //what kind of special key is pressed Zoals je ziet beweegt de bat op de manier hierboven niet heel erg soepel (of maar 1 keer). Dit komt door de manier waarop de processing werkt. Als er een toets wordt ingedrukt zet processing ergens in het geheugen welke toets ingedrukt is. Dan wordt er elke keer gekeken of die toets nog steeds ingedrukt is. Dit zorgt ervoor dat het er schokkerig uitziet. Dit kan op een slimme manier opgelost worden. Hierboven hebben we het verplaatsen in de keypressed() functie geplaatst. Naast deze keypressed() functie is er ook een keyreleased() functie. Deze functie wordt uitgevoerd als, zoals de naam zegt, een toets wordt lasgelaten. Als er nu aan het begin een variabele wordt gedefinieerd die van waarde veranderd als de toets wordt ingedrukt en weer terug veranderd als die wordt losgelaten kunnen we in de draw functie de verplaatsing van de bat plaatsen. Er is dus nu een extra variabele (bv var keyw = false) nodig die veranderd wordt in de functie keypressed() en keyreleased(). De code wordt dan:

10 //globale variabele var ball_radius = 30; //radius of the ball var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball var ballspeed = 10; //speed of the ball var directionx = 0; //x direction of the ball var directiony = 0; //y direction of the ball var alpha = 0; //the corner of the triangle made from the directionx and directiony variable var deltax = 0; //the amount of pixels in x direction moved per step var deltay = 0; //the amount of pixels in y direction moved per step var bat1x = 20; //x-coordinate of left bat var bat1y = 280; //y-coordinate of left bat var bat2x = 760; //x-coordinate of right bat var bat2y = 280; //y-coordinate of right bat var bat_width = 20; //width of a bat var bat_height = 40; //height of a bat var bat1speed = 10; //speed of the right bat var keyw = false; //w key is not pressed void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball directionx = Math.random()*2-1; //Math.random() gets number between 0 and 1, by multiplying with 2 and subtracting 1 it becomes a number between -1 and 1 directiony = Math.random()*2-1; void draw() rect(bat1x, bat1y, bat_width, bat_height); //draw left bat rect(bat2x, bat2y, bat_width, bat_height); //draw right bat ellipse(ballx, bally, ball_radius, ball_radius); //draw ball //move the bats if(keyw && bat1y > 0) //if key w is pressed (than variable keyw equals true) and the bat is inside the screen move it up bat1y -= bat1speed; alpha = Math.atan(directionY/directionX); //calculate direction deltay = ballspeed*math.sin(alpha); //change in y-coordinate according to direction deltax = ballspeed*math.cos(alpha); //change in x-coordinate according to direction if(directionx < 0) //if direction is negative (ball moves down left) ballx -= deltax; //x-coordinate has to decrease else //direction is positive (ball moves right) ballx += deltax; //x-coordinate has t increase bally += deltay; //increase the y-coordinate (deltay can be negative so ball goes both up and down) //collision detection //ball collides with top and bottom of screen if(bally - (0.5 * ball_radius) < 0) //top: center of ball minus half radius < 0 if(bally + (0.5 * ball_radius) > 600) //bottom: center of ball plus half radius > 600

11 textsize(30); //choose the size of the text text( Points: 0, 600, 30); //draw the score for the right player (600 = not the 600 from the size of the window) //called when a key on the keyboard is pressed void keypressed() if(key == w ) //if w is pressed set variable to true so it will move keyw = true; //called when a key on the keyboard is released void keyreleased() if(key == w ) //if w is released set variable to false so it will not move keyw = false; Als je deze code uitvoert merk je dat de bat een stuk soepeler beweegt. Opdrachten: Zorg dat je deze verandering voor alle andere toetsen ook doorvoert (toets s, pijl omhoog en pijl omlaag)

12 Pong: score Als we de botsing met muren en bats, en de bats bewegend hebben gekregen dan is het spel in principe speelbaar. Wat er nu nog aan moet gebeuren is om het spel een doel te geven: de score! In het spel pong wordt er door een speler gescoord als de tegenstander de bal achter zijn bat laat komen (dus hij gaat rechts of links uit het scherm). Eigenlijk is dit stukje code hetzelfde als bij de botsingscode met het enige verschil dat je de richting niet veranderd en nergens tegen aan botst. Er wordt nu gekeken of de bal uit het scherm is, zo ja dan tel je bij de score een op. In code: //globale variabele var ball_radius = 30; //radius of the ball var ballx = 0; //x-coordinate of the ball var bally = 0; //y-coordinate of the ball var ballspeed = 10; //speed of the ball var directionx = 0; //x direction of the ball var directiony = 0; //y direction of the ball var alpha = 0; //the corner of the triangle made from the directionx and directiony variable var deltax = 0; //the amount of pixels in x direction moved per step var deltay = 0; //the amount of pixels in y direction moved per step var bat1x = 20; //x-coordinate of left bat var bat1y = 280; //y-coordinate of left bat var bat2x = 760; //x-coordinate of right bat var bat2y = 280; //y-coordinate of right bat var bat_width = 20; //width of a bat var bat_height = 40; //height of a bat var bat1speed = 10; //speed of the right bat var keyw = false; //w key is not pressed var points2 = 0; //the number of points for player 2 void setup() ballx = 400; //set the x-coordinate for the start position of the ball bally = 300; //set the y-coordinate for the start position of the ball directionx = Math.random()*2-1; //Math.random() gets number between 0 and 1, by multiplying with 2 and subtracting 1 it becomes a number between -1 and 1 directiony = Math.random()*2-1; void draw() rect(bat1x, bat1y, bat_width, bat_height); //draw left bat rect(bat2x, bat2y, bat_width, bat_height); //draw right bat ellipse(ballx, bally, ball_radius, ball_radius); //draw ball //move the bats if(keyw && bat1y > 0) //if key w is pressed and the bat is inside the screen move it up bat1y -= bat1speed; alpha = Math.atan(directionY/directionX); //calculate direction deltay = ballspeed*math.sin(alpha); //change in y-coordinate according to direction deltax = ballspeed*math.cos(alpha); //change in x-coordinate according to direction if(directionx < 0) //if direction is negative (ball moves down left)

13 ballx -= deltax; //x-coordinate has to decrease else //direction is positive (ball moves right) ballx += deltax; //x-coordinate has t increase bally += deltay; //increase the y-coordinate (deltay can be negative so ball goes both up and down) //collision detection //ball collides with top and bottom of screen if(bally - (0.5 * ball_radius) < 0) //top: center of ball minus half radius < 0 if(bally + (0.5 * ball_radius) > 600) //bottom: center of ball plus half radius > 600 //score if(ballx < 0) //when ball is fully behind the bat points2 += 1; //add point to opponent ballx = 400; //reset ball at center of screen bally = 300; directionx = Math.random()*2-1; //randomise direction of ball again directiony = Math.random()*2-1; textsize(30); //choose the size of the text text( Points: + points2, 600, 30); //draw the score for the right player (600 = not the 600 from the size of the window) //called when a key on the keyboard is pressed void keypressed() if(key == w ) //if w is pressed move left bat up keyw = true; //called when a key on the keyboard is released void keyreleased() if(key == w ) keyw = false; De code waar het hier om gaat staat op regels 19, Eerst wordt er op regel 19 een variabele gedeclareerd die de score voor de rechter speler gaat bijhouden. Op regel wordt gekeken of de bal het veld verlaat aan de linkerkant (x-coördinaat is kleiner dan 0). Als dat zo is moeten er een aantal dingen gebeuren: de score moet opgehoogd worden en de bal moet opnieuw in het midden geplaatst worden en in een richting bewogen laten worden! Vooral dat laatste is iets dat je in eerste instantie kan vergeten (maar na een keer getest te hebben zie je dat meteen). Opdrachten: Zorg dat je de score ook voor de linker speler werkend maakt.

14 Pong: uitbreidingen Als je de vorige 4 stappen goed hebt doorlopen en gemaakt heb je in principe een werkend spel. Er zijn alleen nog uitbreidingen die je kunt programmeren die het spel mooier en/of beter speelbaar zullen maken. Een aantal mogelijke uitbreidingen zullen bij deze stap uitgelegd worden. De code zul je zelf moeten schrijven! Op dit moment heb je de grootte van het speel scherm aan het begin hardcoded. Dat betekend dat je van tevoren gekozen hebt hoe groot het speel scherm is (800x600). Het is natuurlijk mooier als je de grootte van het speel scherm laat afhangen van de grootte van je browser window. Hoe je de grootte van je browser window krijgt moet je zelf opzoeken (TIP: zoek op processing en innerheight of innerwidth ). Heb je eenmaal de maximale grootte van je browser scherm gekozen voor je speel scherm zal je zien dat de bal en bats eigenlijk best klein zijn. Verander de code zo dat de grootte van de bal en de bats aangepast wordt aan de grootte van je speel scherm (TIP: neem voor de hoogte van je bat en of diameter van je bal een bepaald % van de hoogte van je speel scherm). Een spel moet op een gegeven moment een winnaar hebben. Zorg ervoor dat er in je code op een gegeven moment een winnaar is. Bijvoorbeeld als een speler de 10 punten heeft gehaald. Het kan ook leuk zijn om het spel iets moeilijker te maken voor een speler mocht hij/zij bijna gewonnen hebben. Zo kan de speler die achter ligt makkelijker terug komen. Denk bijvoorbeeld aan het feit dat de snelheid van de bat omlaag gaat als de speler 8 punten of meer heeft. Zorg dat je dit in de code zet (TIP: if(score2>8) bat2speed /= 2;). Elke keer dat er nu een punt gescoord wordt gaat het spel meteen door. Dit kan lastig zijn. Zorg ervoor dat als er een punt gescoord is het spel gepauzeerd wordt totdat er op een toets (bv spatie) gedrukt wordt. TIP: declareer een variabele pauze = 0 en zet in de draw() functie alle code binnen een if-statement. Alleen als de waarde van pauze gelijk is aan 0 zal het spel gespeeld worden anders krijg je tekst op je scherm te zien Het spel is gepauzeerd. Druk op spatie om door te gaan!. Zorg ook dat je op je scherm te zien krijgt wie er gewonnen heeft. TIP: if(score2 == 10) text( Player 2 has won! Press space to start new game!, 300, 180);. Dit zijn een paar mogelijke uitbreidingen van de code. Je kan vast meer uitbreidingen verzinnen. Mocht je tijd over hebben mag je deze ook implementeren (=in de code zetten). Dit zal dan bonuspunten opleveren!

15 Eind opdracht processing SE2 Voor de eindopdracht krijg je twee keuzes. De eerste is om alle uitbreidingen voor het spel Pong in stap 5 te implementeren. Een andere mogelijkheid is dat je zelf een spel verzint en maakt. Het spel moet dan aan de volgende voorwaarde voldoen: Het moet speelbaar zijn met je muis en/of toetsenbord. Er moet iets van een score bijgehouden worden (of een bepaald leven dat steeds omlaag gaat) zodat er een eind aan het spel is. Het spel moet op het volledige scherm van je browser gespeeld worden (zie punt 1 bij stap 5). Er moet iets van een tegenstander inzitten (denk aan ander poppetje die je dood maakt of dat je iets binnen een bepaalde tijd moet halen).

Game Maker 6.1. Scrolling shooter. Hoofdstuk 6.1

Game Maker 6.1. Scrolling shooter. Hoofdstuk 6.1 Game Maker 6.1 Scrolling shooter Hoofdstuk 6.1 Scrolling Shooter Een spelgenre is shooter. Je kent ze wel: Halo, de bondgames, Metroid Prime ook. Dit zijn First of Third Person Shooters. Daarnaast heb

Nadere informatie

Zelf een spel maken met GameMaker Les 5: een platformspel

Zelf een spel maken met GameMaker Les 5: een platformspel Zelf een spel maken met GameMaker Les 5: een platformspel In de eerste drie lessen hebben we een spel gemaakt waarbij de speler alle kanten op kon bewegen. Als je de pijltjestoetsen niet indrukte bleef

Nadere informatie

Scripting 2 TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. ellipse(screenwidth/2, screenheight/2, 140,140); DOOR THIERRY BRANDERHORST

Scripting 2 TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. ellipse(screenwidth/2, screenheight/2, 140,140); DOOR THIERRY BRANDERHORST Scripting 2 ellipse(screenwidth/2, screenheight/2, 140,140); TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. DOOR THIERRY BRANDERHORST ANDROID APPLICATIES Tegenwoordig zijn er duizenden applicaties

Nadere informatie

Start GameMaker en open een nieuw spel (menu: Zorg ervoor dat GameMaker in Advanced Mode

Start GameMaker en open een nieuw spel (menu: Zorg ervoor dat GameMaker in Advanced Mode 1. Room Start GameMaker en open een nieuw spel (menu: Zorg ervoor dat GameMaker in Advanced Mode toolbar onder de menubalk. Links staat de resource explorer waarmee je tijdens het ontwerpen van je spel

Nadere informatie

Game Maker 6.1. PSO opdracht

Game Maker 6.1. PSO opdracht Game Maker 6.1 PSO opdracht Kennismaking met Game Maker Dit is waarschijnlijk je eerste kennismaking met Game Maker. Game Maker is een programma waarmee je op een heel simpele manier computerspelletjes

Nadere informatie

Maak je eigen Apps. Deel 3 (versie 1.0 NL ) door Serge de Beer

Maak je eigen Apps. Deel 3 (versie 1.0 NL ) door Serge de Beer Maak je eigen Apps Deel 3 (versie 1.0 NL 09-10-2011) door Serge de Beer Bewegende Actors Een statische App kan heel interessant zijn, maar meestal wordt het pas echt interessant, als er ook beweging is

Nadere informatie

Game Maker: Avonturier en skelet

Game Maker: Avonturier en skelet Wat is avonturier en skelet? is een eenvoudig kat en muis spelletje, waarbij de avonturier het skelet moet vinden. Het spel speelt zich af in een raster van 7 bij 7 waarin beide poppetjes staan: Iedere

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 4B

Objectgeoriënteerd Programmeren: WPO 4B Objectgeoriënteerd Programmeren: WPO 4B 1. Inhoud Polymorfie 2. Oefeningen A: Polygon A: Rekenmachine A: Infection A: Waves E: Snake X: Pacman X: Planetendans 2.1 A: Polygon Herneem de opgave Polygon van

Nadere informatie

Let s play baseball! Let s get ready! Voorkennis: Sprites, Lopen, Variabelen, Scores, xy. Leerdoelen: 3D illusie, Klonen

Let s play baseball! Let s get ready! Voorkennis: Sprites, Lopen, Variabelen, Scores, xy. Leerdoelen: 3D illusie, Klonen Let s play baseball! Voorkennis: Sprites, Lopen, Variabelen, Scores, xy Leerdoelen: 3D illusie, Klonen Let s get ready! Jullie weten ongetwijfeld wat het belangrijkste is van het succes van elk goed spel

Nadere informatie

WELKOM BIJ UNICODING PROCESSING. Unicoding 1. Handleiding docent LES 1 DEEL A: Vormen, coördinaten en kleuren

WELKOM BIJ UNICODING PROCESSING. Unicoding  1. Handleiding docent LES 1 DEEL A: Vormen, coördinaten en kleuren WELKOM BIJ UNICODING Bedankt voor het kiezen van Unicoding Coding for Kids. Unicoding is een workshop coderen voor basisscholieren van groep 8. In de cursus leren de leerlingen stap voor stap hoe ze een

Nadere informatie

Game Maker. 1 Inleiding. 2 Pacman. 2.1 Resources

Game Maker. 1 Inleiding. 2 Pacman. 2.1 Resources Game Maker 1 Inleiding Er zijn heel veel programma s en programmeertallen die gebruikt kunnen worden voor het maken van een game. Veel van die programma s zijn echter bedoeld voor professionele en ervaren

Nadere informatie

Processing. Met Processing kun je hele mooie tekeningen maken niet met stiften of potloden, maar door tegen de computer te zeggen wat je wil zien.

Processing. Met Processing kun je hele mooie tekeningen maken niet met stiften of potloden, maar door tegen de computer te zeggen wat je wil zien. Processing Met Processing kun je hele mooie tekeningen maken niet met stiften of potloden, maar door tegen de computer te zeggen wat je wil zien. 1 J.R. Smith, Processing Posters Start het programma Processing

Nadere informatie

LES 4: Scrollen achtergrond en tegels gebruiken

LES 4: Scrollen achtergrond en tegels gebruiken LES 4: Scrollen achtergrond en tegels gebruiken DOEL: De achtergrond (background) laten bewegen en we gaan tegels (tiles) gebruiken om het speelveld uit te breiden. Start Stencyl Open het zelf gemaakte

Nadere informatie

een balspel We gaan een balspel bouwen. We maken een startscherm met daarop de bedoeling en instructie van het spel

een balspel We gaan een balspel bouwen. We maken een startscherm met daarop de bedoeling en instructie van het spel een balspel We gaan een balspel bouwen. We maken een startscherm met daarop de bedoeling en instructie van het spel daarom beginnen we met het maken van een sprite waarop we de instructie typen Deze instructie

Nadere informatie

Zelf een spel maken met GameMaker Les 3: Vijanden en levens

Zelf een spel maken met GameMaker Les 3: Vijanden en levens Zelf een spel maken met GameMaker Les 3: Vijanden en levens 1) Start het programma GameMaker en laad het spel van de tweede les. 2) We gaan een vijand voor de speler maken. Klik met de rechtermuisknop

Nadere informatie

Instructie Kaarten - GameMaker

Instructie Kaarten - GameMaker Kaart 1 Een nieuwe Sprite maken Hoe voeg je een plaatje toe aan een game? Rechtermuisknop op Sprites en dan Create Sprite. Kies nu voor Load Sprite. Kijk in de map CodeKinderen Bestanden en hierna Sprites

Nadere informatie

Basisinstructie GameMaker 8.0

Basisinstructie GameMaker 8.0 Basisinstructie GameMaker 8.0 Startscherm Gamemaker De onderstaande afbeelding toont het startscherm van Gamemaker. De betekenis van de belangrijkste symbolen in de menubalk zijn weergegeven. Het toevoegen

Nadere informatie

Lesje programmeren. Hallo allemaal, wat fijn dat je er bent. ROBOTICA

Lesje programmeren. Hallo allemaal, wat fijn dat je er bent. ROBOTICA Lesje programmeren Hallo allemaal, wat fijn dat je er bent. ROBOTICA 1 PROGRAMMEREN Vandaag ga je aan de slag met programmeren. Wat ga je vandaag doen? - Je gaat een aantal programma s schrijven. We gaan

Nadere informatie

Hoe maak ik een App in GameSalad

Hoe maak ik een App in GameSalad Hoe maak ik een App in GameSalad 1 Als je gevraagd wordt, of je wilt uploaden naar de pro versie, klik je op sluiten/ no. 2 http://learn.gamesalad.com/course-status/ 3 Handleiding basis GameSalad Deze

Nadere informatie

Meer Blokken. 1. Dit is een functie genaamd Maximum, die twee argumenten heeft: number1 en number2.

Meer Blokken. 1. Dit is een functie genaamd Maximum, die twee argumenten heeft: number1 en number2. Meer Blokken Voorkennis: SuperDojo, Snake Leerdoelen: Meer Blokken Introductie Meer Blokken zijn Scratch s manier van functies. Functies zijn een heel belangrijk concept in alle programmeertalen. Het staat

Nadere informatie

Zelf een spel maken met GameMaker. LES 1 Laat iets bewegen!

Zelf een spel maken met GameMaker. LES 1 Laat iets bewegen! Zelf een spel maken met GameMaker LES 1 Laat iets bewegen! 1) Start het programma GameMaker. 2) Klik op No als er gevraagd wordt of je GameMaker in de Advanced mode wilt starten. 3) Je ziet nu dit scherm

Nadere informatie

Game Maker: Asteroids

Game Maker: Asteroids Wat is Asteroids? Asteroids is een arcadespel uit 1979 uitgebracht door Atari. De speler is in dit spel een ruimteschip waar asteroïden omheen vliegen. Het ruimteschip mag niet geraakt worden door de asteroïden.

Nadere informatie

Zelf een spel maken met GameMaker Les 1: Laat iets bewegen!

Zelf een spel maken met GameMaker Les 1: Laat iets bewegen! Zelf een spel maken met GameMaker Les 1: Laat iets bewegen! 1) Start het programma GameMaker Studio. 2) Klik op het tabje New om een nieuw project te starten. 3) Geen het project een naam en klik op Create.

Nadere informatie

Pong. Intermediate. Een project in Scratch.

Pong. Intermediate. Een project in Scratch. Pong Een project in Scratch Intermediate frank.neven@uhasselt.be 1 Het eindresultaat De beste manier om met Pong vertrouwd te raken is het eerst zelf te spelen! http://scratch.mit.edu/projects/48528496/

Nadere informatie

Het project Gamemaker Kids is mede mogelijk gemaakt door:

Het project Gamemaker Kids is mede mogelijk gemaakt door: Deel 3 Het project Gamemaker Kids is mede mogelijk gemaakt door: Auteur: Eindredactie: Klasien Postma Sacha de Ruiter, Technika 10 Nederland Copyright: Creative Commons www.gamemakerkids.nl/index.pl/licentie

Nadere informatie

LORD OF THE RINGS ALLE ONDERDELEN VAN HET SPEL START VAN HET SPEL

LORD OF THE RINGS ALLE ONDERDELEN VAN HET SPEL START VAN HET SPEL LORD OF THE RINGS ALLE ONDERDELEN VAN HET SPEL LORD OF THE RINGS is een platform spel. Waarbij je de pijl moet ontwijken en ondertussen munten moet verzamelen. Bij genoeg geld kun je levels kopen. Het

Nadere informatie

Ga naar en remix het spel.

Ga naar   en remix het spel. Super Giga In deze handleiding is onze grote vriendin van het doolhof, Giga, terug om mee te gaan spelen. Maar deze keer gaan we een soort Mario spel maken. We laten Giga dus rennen, springen en ook nog

Nadere informatie

LES 2: Zwaartekracht gebruiken en springen

LES 2: Zwaartekracht gebruiken en springen LES 2: Zwaartekracht gebruiken en springen DOEL: Met het programma Stencyl zwaartekracht gebruiken om te kunnen springen. Start Stencyl Open het zelf gemaakte spel De Krokodil uit Les 1 Zoals je ziet is

Nadere informatie

Programmeerstructuren met App Inventor

Programmeerstructuren met App Inventor Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement

Nadere informatie

Game maker Tutorial Pong

Game maker Tutorial Pong Game maker Tutorial Pong Fall 2016 with gamemaker studio version 1.4 Sprites Sprites zijn kleine afbeeldingen. Je kan ze importeren of Create/Edit deze afbeeldingen. Hier maken we ze: Bal,lijn en paddels.

Nadere informatie

CoderDojo Arnhem Help de Kerstman

CoderDojo Arnhem Help de Kerstman CoderDojo Arnhem Help de Kerstman OM TE BEGINNEN 1. Ga naar pagina: https://scratch.mit.edu/projects/266988756/ 2. Klik op Bekijk van binnen 3. Druk op de Remix knop HELP DE KERSTMAN KADOOTJES VERZAMELEN

Nadere informatie

Functioneel Ontwerp PlastiCats

Functioneel Ontwerp PlastiCats Functioneel Ontwerp PlastiCats Voor CLE4 hebben Carlo, Hubert,Guus Karim en Pepijn een team gevormd. Voor CLE4 moeten we een spel maken. Daarvoor hebben we kaartjes gekregen met daarop een dier, kleur

Nadere informatie

HANDLEIDING GAME MAKER

HANDLEIDING GAME MAKER HANDLEIDING GAME MAKER 1 Op voorhand 1.1 Mapje aanmaken De lesgever zorgt ervoor dat op iedere pc/laptop een mapje Bestanden GameMaker staat. Hierin staat alles staat wat de kinderen nodig hebben. Locatie

Nadere informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

Android apps met App Inventor 2 antwoorden

Android apps met App Inventor 2 antwoorden 2014 Android apps met App Inventor 2 antwoorden F. Vonk versie 1 11-11-2014 inhoudsopgave Mollen Meppen... - 2 - Schrandere Scholier... - 15 - Meteoor... - 21 - Dit werk is gelicenseerd onder een Creative

Nadere informatie

Space Invaders op de micro:bit

Space Invaders op de micro:bit Space Invaders op de micro:bit Op het eerste gezicht denk je misschien dat je met een scherm van vijf bij vijf ledjes niet zoveel kunt doen, maar dat valt best nog wel mee. Om dat aan te tonen gaan we

Nadere informatie

R-Type 2009 Developing in XNA

R-Type 2009 Developing in XNA R-Type 2009 Developing in XNA Door : Martin Broos Student nr : 0794155 Vak : IMP08 Herkansing Docent: Bob Pikaar Versie : 2 1 Inhoud Inleiding... 3 Concept... 4 Uitdaging... 4 Features... 4 Vijanden...

Nadere informatie

GameMaker. GameMaker game. Het helpscherm Spelen in groot scherm Spel spelen Spel stoppen. Object (wat doet het plaatje) in je game.

GameMaker. GameMaker game. Het helpscherm Spelen in groot scherm Spel spelen Spel stoppen. Object (wat doet het plaatje) in je game. GameMaker game GameMaker F1 F4 F5 ESC Het helpscherm Spelen in groot scherm Spel spelen Spel stoppen Bestaande game openen Game spelen Geluid in je game Object (wat doet het plaatje) in je game Helpscherm

Nadere informatie

LES 6: Vijanden en dood gaan

LES 6: Vijanden en dood gaan LES 6: Vijanden en dood gaan DOEL: Je moet dodelijke slangen gaan ontwijken. Als je toch een slang raakt ga je dood en moet je opnieuw beginnen. Je geeft de slang aan het eind een leuke animatie. Start

Nadere informatie

Flappy Bat. Om te beginnen ga je naar en remix je het spel.

Flappy Bat. Om te beginnen ga je naar   en remix je het spel. Flappy Bat Een spelletje in Scratch maken is toch wel het leukst en daarom gaan we aan de hand van deze handleiding een soort Flappy Bird maken. We gebruiken als hoofdpersoon echter geen vogel maar een

Nadere informatie

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

Classification of triangles

Classification of triangles Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides

Nadere informatie

Scratch les : Ontsnap uit het doolhof en krijg de MediaMasters jokercode!

Scratch les : Ontsnap uit het doolhof en krijg de MediaMasters jokercode! Het doolhof Scratch les : Ontsnap uit het doolhof en krijg de MediaMasters jokercode! Selma zit opgesloten in een doolhof. Ze moet de sleutel pakken om eruit te komen en de code te krijgen! Kun jij Selma

Nadere informatie

Zelf een spel maken met GameMaker. LES 4 Scrollen

Zelf een spel maken met GameMaker. LES 4 Scrollen Zelf een spel maken met GameMaker LES 4 Scrollen Wil je een spel maken met een level dat groter is dan het scherm? Dan moet je ervoor zorgen dat het level kan bewegen. Dit bewegen noem je scrollen. Met

Nadere informatie

Roc Zadkine. Javascript Car. Door: K.Bakker versie 1.0

Roc Zadkine. Javascript Car. Door: K.Bakker versie 1.0 Roc Zadkine Javascript Car Door: K.Bakker versie 1.0 mei 2016 distributielijst versie historie versie datum auteur Opmerkingen 1.0 2-2-2016 k.bakker inhoudsopgave 1. Project benodigdheden 3 2. Benodigdheden

Nadere informatie

Variabelen en statements in ActionScript

Variabelen en statements in ActionScript Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer

Nadere informatie

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn.

Veel succes! 1. Deze opgave bestaat uit een aantal vragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan al genoeg zijn. Eerste deeltentamen Gameprogrammeren Vrijdag 26 september 2014, 8.30-10.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal punten

Nadere informatie

Diamanten jacht. Gamemaker Workshop. Hogeschool van Amsterdam. Benjamin van Arkel, Simon Karman en Koen Vrij

Diamanten jacht. Gamemaker Workshop. Hogeschool van Amsterdam. Benjamin van Arkel, Simon Karman en Koen Vrij Diamanten jacht Gamemaker Workshop Hogeschool van Amsterdam Benjamin van Arkel, Simon Karman en Koen Vrij Over Gamemaker WAT IS GAMEMAKER? Gamemaker is een programma die gebruikt wordt om op een eenvoudige

Nadere informatie

Functioneel Ontwerp / Wireframes:

Functioneel Ontwerp / Wireframes: Functioneel Ontwerp / Wireframes: Het functioneel ontwerp van de ilands applicatie voor op de iphone is gebaseerd op het iphone Human Interface Guidelines handboek geschreven door Apple Inc 2007. Rounded-Rectangle

Nadere informatie

Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur

Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, uur Naam: Eerste deeltentamen Gameprogrammeren Vrijdag 25 september 2015, 11.00-13.00 uur Studentnummer: Het tentamen bestaat uit 4 opgaven. Elke opgave levert 10 punten op. Je cijfer is het totaal aantal

Nadere informatie

GameMaker TUT: Doolhof

GameMaker TUT: Doolhof GameMaker TUT: Doolhof Deze tutorial (TUT) is bedoel voor mensen die nog nooit met GameMaker gewerkt hebben. We gaan een simpele game maken, waarbij het de bedoeling is een poppetje uit een doolhof te

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

Scratch les 1: Ontsnap uit het doolhof

Scratch les 1: Ontsnap uit het doolhof Scratch les 1: Ontsnap uit het doolhof Het doolhof We zitten opgesloten in een doolhof. We moeten de sleutel pakken om eruit te komen! Kun jij Giga helpen? Dit materiaal is gemaakt door Felienne. Het is

Nadere informatie

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain. Domino tiles Dominoes is a game played with rectangular domino 'tiles'. Today the tiles are often made of plastic or wood, but in the past, they were made of real stone or ivory. They have a rectangle

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak met

Nadere informatie

De mbot. Je wilt zeker meteen al aan de slag. Maar voordat we beginnen moet je 3 dingen weten.

De mbot. Je wilt zeker meteen al aan de slag. Maar voordat we beginnen moet je 3 dingen weten. De mbot De mbot is een robot die je helemaal zelf kunt programmeren. Hij kan rijden, geluid maken, heeft verschillende kleuren lampjes, kan lijnen op de grond volgen en heeft zelfs een ultrasonische module!

Nadere informatie

5. Werken met afbeeldingen

5. Werken met afbeeldingen 103 5. Werken met afbeeldingen Foto s en tekeningen worden ook wel afbeeldingen genoemd. Afbeeldingen maken een website niet alleen mooier. Ze zijn ook belangrijk om duidelijk te maken wat je precies bedoelt.

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 De samenstelling van rotaties in het vlak is commutatief. Vraag 1.2 De samenstelling van de orthogonale spiegelingen t.o.v. twee gegeven vlakken in de

Nadere informatie

Java Les 3 Theorie Herhaal structuren

Java Les 3 Theorie Herhaal structuren Java Les 3 Theorie Herhaal structuren Algemeen Een herhaal structuur een is programmeertechniek waarbij bepaalde Java instructies worden herhaald net zo lang tot een bepaalde voorwaarde is bereikt. Een

Nadere informatie

door Vaksectie Informatica Alberdingk Thijm College ACS-logo

door Vaksectie Informatica Alberdingk Thijm College ACS-logo door Vaksectie Informatica Alberdingk Thijm College ACS-logo ACS LOGO Programmeren met een schildpad Het programma Afb. 1 We gaan in deze module werken met het programma ACSLOGO. Dit is een programma waarmee

Nadere informatie

Zelf een spel maken met GameMaker. LES 3 Vijanden en levens

Zelf een spel maken met GameMaker. LES 3 Vijanden en levens Zelf een spel maken met GameMaker LES 3 Vijanden en levens 1) Start het programma GameMaker en laad het spel van de tweede les. 2) We gaan een vijand voor het beertje maken. Klik met de rechtermuisknop

Nadere informatie

Space Invaders. Advanced. Een project in Scratch.

Space Invaders. Advanced. Een project in Scratch. Space Invaders Een project in Scratch Advanced frank.neven@uhasselt.be 1 Het eindresultaat De beste manier om met dit spel vertrouwd te raken is het eerst zelf te spelen! Blijf spelen tot je een score

Nadere informatie

Bedieningspaneel. Drukknoppen en Ds

Bedieningspaneel. Drukknoppen en Ds Bedieningspaneel Dit hoofdstuk bechrijft de het bedieningspaneel en de funktie van de LEDS. Note: de labels van de knoppen en de leds kunnen iets afwijken van de tekst echter de funkties blijven hetzelfde

Nadere informatie

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders. Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.

Nadere informatie

Gebruik van TileSets Stukjes achtergrond van een plaatjesvel (sheet) afhalen

Gebruik van TileSets Stukjes achtergrond van een plaatjesvel (sheet) afhalen Deze workshop bestaat eigenlijk uit drie mini-workshopjes Gebruik van TileSets Stukjes achtergrond van een plaatjesvel (sheet) afhalen Gebruik van SpriteSheets Sprites of animaties van een plaatjesvel

Nadere informatie

Roc Zadkine. Javascript SpaceGame. Door: K.Bakker versie 2.0

Roc Zadkine. Javascript SpaceGame. Door: K.Bakker versie 2.0 Roc Zadkine Javascript SpaceGame Door: K.Bakker versie 2.0 juni 2016 distributielijst versie historie versie datum auteur Opmerkingen 1.0 2-2-2016 k.bakker 1.0 2-2-2016 k.bakker inhoudsopgave 1. Game in

Nadere informatie

size( 800, 500 ); Canvas = tekenblad 'size' is een woord dat processing herkent om de grootte van het canvas (tekenblad) in te stellen

size( 800, 500 ); Canvas = tekenblad 'size' is een woord dat processing herkent om de grootte van het canvas (tekenblad) in te stellen Canvas = tekenblad 1 'size' is een woord dat processing herkent om de grootte van het canvas (tekenblad) in te stellen 'size' op zich is niet genoeg informatie... Extra informatie wordt meegegeven tussen

Nadere informatie

NEDERLANDS. Plaatselijke telefoonnummers voor de klantendienst kunt u vinden op: G-01 rev.

NEDERLANDS. Plaatselijke telefoonnummers voor de klantendienst kunt u vinden op: G-01 rev. For the latest User Installation Guide please visit: www.ergotron.com User's Guide - English Guía del usuario - Español Manuel de l utilisateur - Français Gebruikersgids - Deutsch Benutzerhandbuch - Nederlands

Nadere informatie

Stroomschema s maken in Word

Stroomschema s maken in Word 1 Stroomschema s maken in Word Een programma direct maken in Scratch gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

COMMUNICATIE EN TEAMPRESTATIE

COMMUNICATIE EN TEAMPRESTATIE COMMUNICATIE EN TEAMPRESTATIE Door: Afke van de Wouw Dominique van der Paard Yara van Gendt INHOUD Introductie Communicatie met je omgeving Effect op Handelingssnelheid Toepassing in het voetbal ACHTERGROND

Nadere informatie

Javascript oefenblad 1

Javascript oefenblad 1 Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de

Nadere informatie

Schaakstukken les 3: Loper

Schaakstukken les 3: Loper Schaakstukken les 3: Loper In deze les We gaan nu de Loper voor het schaakspel maken. Ook hier is al weer het een en ander voorbereid. Het gaat erom enkele nieuwe technieken te leren. technieken Gebruik

Nadere informatie

OEFENINGEN PYTHON REEKS 5

OEFENINGEN PYTHON REEKS 5 Vraag 1: Interpoleren (vervolg) OEFENINGEN PYTHON REEKS 5 Bouw verder op je code van Reeks 3, vraag 4. Voeg vier constanten toe aan je code: X0 = 280, Y0 = 0, Z0 = 50 en SIZE = 8. a) Teken een kubus met

Nadere informatie

Probot kennismaking. Rpt[ ] Rpt

Probot kennismaking. Rpt[ ] Rpt Probot kennismaking Plaatje Mei 2015- -Tessa van Zadelhoff Aan de onderkant zit de schakelaar om de Pro-Bot aan en uit te zetten. Je programmeert de Pro-Bot door commando's in te voeren met de toetsen.

Nadere informatie

Ga naar en remix het spel.

Ga naar   en remix het spel. Oversteken In deze handleiding maken we kennis met Hassan de Hond. Haasan is gek op lekker eten en aan de overkant van de weg ligt van alles om te smullen, een banaan, een taco, een taart, een watermeloen

Nadere informatie

Biljarten op een ellips. Lab kist voor 3-4 vwo

Biljarten op een ellips. Lab kist voor 3-4 vwo Biljarten op een ellips Lab kist voor 3-4 vwo Dit lespakket behoort bij het ellipsvormige biljart van de ITS Academy. Ontwerp: Pauline Vos, in opdracht van Its Academy Juni 2011 Leerdoelen: - kennismaken

Nadere informatie

TIPS EN HINTS VOOR BEGINNERS. Klik nu in de Menu balk op het menu item ELEMENT. Onder het woord Element gaat er nu vervolgens nu een sub menu open

TIPS EN HINTS VOOR BEGINNERS. Klik nu in de Menu balk op het menu item ELEMENT. Onder het woord Element gaat er nu vervolgens nu een sub menu open ........................................ TIPS EN HINTS VOOR BEGINNERS.................................................... Nadat u WinRail 8 heeft geïnstalleerd krijgt u automatisch een leeg werkblad waarop

Nadere informatie

Procedure Reset tv-toestellen:

Procedure Reset tv-toestellen: Procedure Reset tv-toestellen: Volgende procedure is te volgen wanneer er een tv-toestel, op een van de kamers niet meer werkt. TV Re-installation Factory Default Her-installeren van de TV Fabrieksinstellingen

Nadere informatie

Gevangen in een doolhof

Gevangen in een doolhof Gevangen in een doolhof Op de een of andere manier beginnen veel boeken over Scratch met een doolhof. Blijkbaar is het coderen van dat spel een goede start om Scratch onder de knie te krijgen. Laten wij

Nadere informatie

Workshop XIMPEL TV Winoe Bhikharie Vrije Universiteit Amsterdam www.ximpel.net / info@ximpel.net

Workshop XIMPEL TV Winoe Bhikharie Vrije Universiteit Amsterdam www.ximpel.net / info@ximpel.net Workshop XIMPEL TV Winoe Bhikharie Vrije Universiteit Amsterdam www.ximpel.net / info@ximpel.net In deze workshop maak je kennis met XIMPEL TV en interactieve video. Bij interactieve video kun je de video

Nadere informatie

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)

HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) LES 4 In deze les gaan we een eenvoudig dobbelspelletje maken: Allereerst krijgt de speler de gelegenheid zijn/haar naam in te vullen en daarna op OK te klikken

Nadere informatie

Aanvullende toets Gameprogrammeren Woensdag 5 januari 2011, uur

Aanvullende toets Gameprogrammeren Woensdag 5 januari 2011, uur Dit tentamen is in elektronische vorm beschikbaar gemaakt door de TBC van A Eskwadraat. A Eskwadraat kan niet aansprakelijk worden gesteld voor de gevolgen van eventuele fouten in dit tentamen. Aanvullende

Nadere informatie

Lijnen/randen en passe-partouts maken met Photoshop.

Lijnen/randen en passe-partouts maken met Photoshop. Lijnen/randen en passe-partouts maken met Photoshop. Les 1: Witte rand om de foto m.b.v. canvasgrootte. 1. Open de foto in Photoshop. 2. Klik in menu AFBEELDING op CANVASGROOTTE 3. Zorg dat in het vakje

Nadere informatie

Plaats de auto ergens in het speelveld, en bezaai de weg met rotsen. Let erop dat over de hele breedte van de weg in elk geval rotsen te vinden zijn.

Plaats de auto ergens in het speelveld, en bezaai de weg met rotsen. Let erop dat over de hele breedte van de weg in elk geval rotsen te vinden zijn. GAMEMAKER DERDE SPEL INFORMATICA We gaan nu een totaal nieuw soort spel bouwen met GameMaker. Tot nu toe hebben we twee doolhofgames gebouwd. Hierin was een doolhof het speelveld, en liep je met het beertje

Nadere informatie

Shipment Centre EU Quick Print Client handleiding [NL]

Shipment Centre EU Quick Print Client handleiding [NL] Shipment Centre EU Quick Print Client handleiding [NL] Please scroll down for English. Met de Quick Print Client kunt u printers in Shipment Centre EU configureren. De Quick Print Client kan alleen op

Nadere informatie

BEGINNER JAVA Inhoudsopgave

BEGINNER JAVA Inhoudsopgave Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire

Nadere informatie

Stroomschema s maken op papier

Stroomschema s maken op papier 1 Stroomschema s maken op papier Een programma direct maken in Python, gaat vaak wel goed als het een klein programma is. Als het programma groter en moeilijker is, is het lastig om goed te zien welk commando

Nadere informatie

Revenge De ultieme uitdaging 2. Even voorstellen: Revenge 3. Algemene tips 8. Draaipatronen bij Revenge 19. Oplossen van Rubik s Revenge 28

Revenge De ultieme uitdaging 2. Even voorstellen: Revenge 3. Algemene tips 8. Draaipatronen bij Revenge 19. Oplossen van Rubik s Revenge 28 Rubik s Revenge Revenge De ultieme uitdaging 2 Even voorstellen: Revenge 3 Draaitips 5 Algemene tips 8 Notatiesysteem 12 Draaipatronen bij Revenge 19 Oplossen van Rubik s Revenge 28 Er is meer Revenge

Nadere informatie

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? 1 Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby? Voordat je begint met programmeren, moet je Ruby installeren.

Nadere informatie

OEFENINGEN PYTHON REEKS 4

OEFENINGEN PYTHON REEKS 4 Vraag 1: Introductie Tekenen OEFENINGEN PYTHON REEKS 4 Vanaf deze les gaan we gebruik maken van het pakket VPython om de objecten te tekenen en weer te geven. Om aan alle functies te kunnen die VPython

Nadere informatie

Scratch voor mobiel: AppInventor

Scratch voor mobiel: AppInventor Scratch voor mobiel: AppInventor Beginnen AppInventor is Scratch voor Android. Je maakt hiermee apps voor op je mobiele telefoon of tablet. Beginnen: Start chrome.exe en ga naar http://appinventor.mit.edu/explore

Nadere informatie

1. Tekenen van een layout-plan.

1. Tekenen van een layout-plan. 1. Tekenen van een layout-plan. 1.1 Opgave Volgende layout wensen we te tekenen. 60 60 32 Automatisch 30 0 1 1 0 2 24 S2 Oliedruk 30 S3 42 Thermische veiligheid 12 42 216 110 84 22 0 1 84 46 22 S1 84 216

Nadere informatie

Di-Control HANDLEIDING Di-Control versie: 2.6

Di-Control HANDLEIDING Di-Control versie: 2.6 Di-Control HANDLEIDING Di-Control versie: 2.6 2 INLEIDING Di-Control kan gebruikt worden met diverse apparatuur om een muisaanwijzer (mode: Mouse-control) te besturen of toets-commando s (mode: Key-control)

Nadere informatie

Courbois Software WebDesignEditor. WYSIWYG-Editor

Courbois Software WebDesignEditor. WYSIWYG-Editor Courbois Software WebDesignEditor WYSIWYG-Editor 2006-2012 Courbois Software Beuningen Fazantlaan 63, 6641 XW Beuningen. www.courboissoftware.com & www.cs-webdesign.nl 024 677 25 46 - info@cs-webdesign.nl

Nadere informatie

Eenvoudige sneeuwman.

Eenvoudige sneeuwman. http://www.tutorial9.net/photoshop/design-a-simple-snowman-in-photoshop/ Eenvoudige sneeuwman Stap 1: Nieuw Document Grootte = 1000 x 1000 pixels, witte achtergrond. Stap 2: Hulplijnen plaatsen Linialen

Nadere informatie

poortschietspel vaste afstand

poortschietspel vaste afstand Voorfase 3.1/ warming-up poortschietspel vaste afstand Inhoud - Bedoeling van deze vorm Karakteristiek: scoren door te schieten / passen tussen de pionnen aannemen van een rollende bal voor of op de lijn

Nadere informatie

Scratch les 3: Quiz! Je eigen spelshow

Scratch les 3: Quiz! Je eigen spelshow Scratch les 3: Quiz! Je eigen spelshow Hoeveel weten jouw vriendjes en vriendinnetjes over jouw favoriete onderwerp? Test het met je zelfgemaakte quiz! Ga naar https://scratch.mit.edu/projects/112774047/.

Nadere informatie

Simon de schildpad. 2015 J van Weert 1

Simon de schildpad. 2015 J van Weert 1 Programmeren met Simon Simon de schildpad 2015 J van Weert 1 Inleiding: Wat is programmeren eigenlijk? Een computer doet niets zonder een programma. Die programma s worden geschreven door mensen: programmeurs.

Nadere informatie

Meetkunde en Lineaire Algebra

Meetkunde en Lineaire Algebra Hoofdstuk 1 Meetkunde en Lineaire Algebra Vraag 1.1 Het trapoppervlak is een afwikkelbaar oppervlak met oneindig veel singuliere punten. vals Vraag 1.2 Het schroefoppervlak is een afwikkelbaar oppervlak

Nadere informatie