Breakout
Skrevet av: Geir Arne Hjelle og Martin Lie
Introduksjon
Breakout er en gammel klassiker opprinnelig laget av Steve Jobs og Steve Wozniak (grunnleggerene av Apple) på 1970-tallet. På samme måte som i Pong skal man kontrollere en sprettende ball ved hjelp av en racket. Men Breakout kan spilles av en spiller hvor man får poeng for å skyte ned bokser ved hjelp av ballen. Nyere versjoner har videreutviklet Breakout på flere måter. For eksempel ved at noen bokser gir spesielle bonuser, ved at det finnes forskjellige brett av ulik vanskelighetsgrad og så videre.

Oversikt over prosjektet
Mesteparten av kodingen av Breakout skal du gjøre selv. Koden for racketen og ballen ligner en del på den tilsvarende koden i Pong. Vi vil derfor fokusere på boksene i dette prosjektet, og spesielt diskutere hvordan man kan bruke kloner på en effektiv måte.
Plan
Steg 1: Bokser ... Mange bokser!
En sentral del av Breakout er alle boksene man skal prøve å skyte ned. Siden disse boksene alle oppfører seg (nesten) likt vil vi bruke den samme koden for alle boksene. Til dette bruker vi kloning.
I Scratch kan vi klone figurer. Det betyr at vi lager en kopi av en figur, både av utseendet og oppførselen. Her vil vi derfor først lage en boks, og deretter lage mange kopier av denne.
Sjekkliste
-
når jeg mottar [Nytt spill v] skjul sett [Antall bokser v] til [0] sett y til (160) gjenta (5) ganger sett x til (-200) gjenta (11) ganger endre [Antall bokser v] med (1) lag klon av [meg v] endre x med (40) slutt endre y med (-25) slutt
-
når jeg starter som klon vis vent til <tast [mellomrom v] trykket?> endre [Antall bokser v] med (-1) slett denne klonen
Etter at vi har laget en ball og en racket skal vi oppdatere denne koden slik at boksene i stedet forsvinner når de blir truffet av ballen.
Steg 2: En sprettende ball og en enkel racket
Når man lager nye programmer og spill er det alltid lurt å lage en enkel versjon av spillet tidlig. Denne tidlige versjonen behøver ikke kunne gjøre veldig mye, du kan likevel begynne å teste at programmet blir som du hadde tenkt nesten med en gang.
Vi begynner nå med grunnmekanismen i spillet: En ball som spretter og en racket som kan ta i mot ballen.
Sjekkliste
-
når jeg mottar [Sprett horisontalt v] pek i retning ((180) - (retning))
Steg 3: Boksene forsvinner
Vi skal nå koble sammen boksene og ballen. Boksene skal jo forsvinne når de blir truffet av ballen. Samtidig skal ballen sprette når den treffer en boks.
Sjekkliste
Prøv spillet ditt. Grunnmekanismene skal nå fungere.
Steg 4: 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
-
En måte å designe slike brett på kan være ved å først lage de forskjellige boksene som forskjellige drakter. Deretter kan du lage en
brett
-variabel som lister opp hvilken drakt hver boks skal bruke. For eksempel kan denne se slik ut:sett [brett v] til [1111111111111222222211112233322111122222221111111111111]
Denne kan så brukes når du setter ut boksene omtrent som dette:
bytt drakt til (bokstav (antall bokser) i (brett))
Videre i spillet kan du teste på
drakt nr.
for å vite hvilken type boks du har med å gjøre.
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!