Pingpong tegen jezelf spelen? Dan win je natuurlijk altijd. Of net niet?

Oefening 6: Pingpong tegen jezelf

Iedereen kent wel het spel tafeltennis of pingpong. Maar je moet met twee zijn. Daarom starten we deze oefening met het spel genaamd Pong. Dit is een vereenvoudigde versie van pingpong die je alleen kan spelen.

Het eindresultaat

Project

file_downloadDownload

cloudScratch-Studio



Waaruit moet dit project bestaan:

  • Een score.
  • Een bal die over het scherm beweegt.
  • Een plankje dat je kan besturen.

Stappenplan

Stap 1

Wanneer je het project opent, zie je dat we voor jou al een plankje en een bal hebben klaargezet. Aan het plankje hebben we ook al wat code toegevoegd:

when greenflag clicked go to x: {0} y: {-130} forever; set x to {(mouse x)}

Hiermee zorgen we ervoor dat het plankje start op de beginpositie en vervolgens links en rechts zal bewegen, afhankelijk van de positie van de muis. Dit gebeurt door de hele tijd (vandaar de herhaallus) de x-coördinaat van het plankje gelijk te stellen aan de x-coördinaat van de muis. Nu is het aan jou om de bal te programmeren.

Stap 2

Creëer een variabele score, die later de score tijdens het spel zal bijhouden.

Stap 3

Geef de bal een beginpositie, best bovenaan het scherm (bv. met y = 160) en zorg ervoor dat de bal naar beneden gericht is (zodat deze kan vallen). Neem voor dit laatste een willekeurig getal tussen de 135 en 225 (graden).

Stap 4

Zorg er nu voor dat de bal een aantal stappen (bijvoorbeeld 12) zet en blijf dit herhalen. Vergeet zeker niet om te keren aan de rand!

Stap 5

Zorg ervoor dat als de bal het plankje raakt, de bal terug naar boven wordt gericht. Neem voor dit laatste een willekeurig getal tussen de -30 en 30 (graden). Laat vervolgens ook de score veranderen.

Een blok om te testen of een sprite geraakt wordt, kan je terugvinden in het palet Waarnemen:

<touching [sprite]?>

Stap 6

Zorg ervoor dat als de bal de grond raakt, de bal terug naar boven wordt gericht. Neem voor dit laatste een willekeurig getal tussen de -30 en 30 (graden). Laat vervolgens ook de score veranderen met -1.

[TIP: gebruik de kleur groen]
Stap 7

Zorg dat er gepaste geluiden worden afgepeeld wanneer de bal het plankje of de grond raakt.

Evaluatie

Controleer als het spel gelijkaardig werkt als in het het filmpje.

  • Gaat de bal terug omhoog wanneer deze het plankje of de grond raakt?
  • Verhoogt de score wanneer de bal het plankje raakt?
  • Vermindert de score wanneer de bal de grond raakt?

Oplossing

De oplossing vind je hier!

file_downloadDownload

cloudScratch-Studio



Wat een leuk spelletje toch! Ben je benieuwd naar wat we nog zullen maken in het volgende hoofdstuk?