Pong
Skrevet av: Geir Arne Hjelle
Introduksjon
Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår en ball frem og tilbake. Hvis en av spillerne ikke klarer å returnere ballen får den andre spilleren poeng.

Oversikt over prosjektet
Mesteparten av kodingen av Pong skal du gjøre på egen hånd. Men vi vil gi litt tips underveis. Spesielt vil vi se litt på hvordan vi kontrollerer en ballfigur mens den spretter rundt på skjermen. I resten av leksjonen vil du finne følgende:
Plan
Steg 1: En sprettende ball
Når man lager nye programmer og spill er det alltid lurt å begynne med en enkel versjon som gjør litt av det det ferdige programmet skal gjøre. Da kan du begynne og teste at programmet virker som det skal nesten med en gang.
I vår enkle versjon skal vi bare få en ball til å sprette over skjermen. Ingen spillere, ingen poeng, ingenting annet enn en sprettende ball!
Sjekkliste
-
når jeg mottar [Ny ball v] sett [hastighet v] til [7] gå til x: (0) y: (0) pek i retning (tilfeldig tall fra (1) til (360)) gjenta for alltid gå (hastighet) steg sprett tilbake ved kanten slutt
Les koden nøye mens du legger den til på ball-figuren. Pass på at du skjønner hva hver enkelt kloss gjør, fordi denne koden skal du endre selv etterhvert.
En bedre måte å starte programmet på
Vi har laget meldingen Ny ball
siden vi tenker at i selve spillet vil vi at ballen begynner fra midten av skjermen etter hver gang en spiller har gjort poeng. I denne enkle versjonen kan vi sende meldingen Ny ball
hver gang det grønne flagget klikkes, for å enklere starte spillet.
-
Legg denne enkle kodesnutten til på scenen:
når @greenFlag klikkes send melding [Ny ball v]
Steg 2: Litt mer kontroll på ballen
Klossen sprett tilbake ved kanten
er veldig enkel å bruke, men dessverre gir den oss ikke så mye kontroll. For eksempel kan vi ikke bruke den om vi vil at ballen skal sprette andre steder enn ved kanten (for eksempel i en racket). Den er også vanskelig å bruke om vi vil at andre ting skal skje når ballen spretter, kanskje vi vil spille en lyd, endring på hastigheten eller endre litt i retningen.
Vi vil bruke sansning
-klosser for å bedre kontrollere hvordan ballen spretter. Da kan vi oppdage når ballen berører andre figurer (som for eksempel racketene til spillerene), eller når den berører spesielle farger.
Sjekkliste
-
-
gjenta for alltid slutt
med
gjenta til <berører fargen [#0000FF]> slutt send melding [Poeng v]
-
sprett tilbake ved kanten
med for eksempel
hvis <berører fargen [#9999FF]> pek i retning ((180) - (retning)) trommeslag (15 v) som varer (0.01) takter slutt
Skjønner du hva tallet
180
gjør? Prøv å tenk på hvordan en ball spretter i en vegg, og hvordan retningen på ballen endrer seg.
Steg 3: Racketer til spillerene
Nå som ballen spretter fint kan vi lage racketene som spillerene skal styre. Disse vil være veldig like hverandre, slik at vi kan først lage den ene racketen og deretter kopiere denne.
Sjekkliste
-
hvis <<tast [w v] trykket> og <(y-posisjon) < [150]>> slutt
Steg 4: Videreutvikling av spillet
Vi har nå laget en enkel versjon av et av de første dataspillene i historien. Men det er mange muligheter for videreutvikling av spillet.
Du står helt fritt i hvordan du vil jobbe videre med spillet ditt, men her er noen ideer som kan gjøre spillet enda morsommere å spille:
Ideer til videreutvikling
Forbedre denne siden
Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!