Ping pong. Introdusjon: Steg 1: Sprettende ball. Sjekkliste. Skrevet av: Torbjørn Vik Lunde

Like dokumenter
Ping pong. Steg 1: Sprettende ball. Sjekkliste. Introdusjon:

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Sprettende ball Introduksjon Processing PDF

Steg 1: Lag bildedeklarasjon

Kanter, kanter, mange mangekanter

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Steg 0: Installere Pygame Zero

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

PXT: Tikkende bombe. Introduksjon. Steg 1: Vi starter spillet. Skrevet av: Kolbjørn Engeland

Tegnespillet. Introduksjon:

Farger. Introduksjon. Skrevet av: Sigmund Hansen

Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie

Steg 1: Katten og fotballbanen

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Steg 1: Bli kjent med spillet

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Lærerveiledning - Pong

Steg 1: Animasjons-attributtet

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

Steg 1: Få noe på skjermen

Steg 1: En første animasjon

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Løpende strekmann Erfaren Videregående Python PDF

Steg 1: Hvordan styre figurer med piltastene

Steg 1: Piler og knappetrykk

Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Steg 1: Lag bakken og få den til følge med

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Verden. Steg 1: Vinduet. Introduksjon

Snøballkrig. Introduksjon. Steg 1: En snøballkaster. Skrevet av: Geir Arne Hjelle

PXT: Flasketuten peker på

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

Straffespark Introduksjon Scratch Lærerveiledning

Steg 1: Husker du skilpadden?

Steg 1: Tekst på flere linjer

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Lærerveiledning - Straffespark

Steg 1: Opprette spillskjerm

PXT: Micro:bit repeater

Steg 1: Endre bakgrunn og finne figurer

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

Steg 1: Canvas-elementet

Steg 1: Hvordan fungerer spillet?

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Steg 1: Lag et flyvende spøkelse

Lærerveiledning - Snøballkrig

Farger Introduksjon Processing PDF

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Kodetime for Nordstrand barneskole

Steg 1: Rest etter divisjon

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

Flagg. Introduksjon. Steg 1: Gå i sirkel. Skrevet av: Sverre Oskar Konestabo og Geir Arne Hjelle

Steg 1: Installere programvaren

Denne oppgaven viser hvordan vi kan bruke musen til å kontrollere elm-programmene våre.

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Lærerveiledning - Snøballkrig

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

PXT: Spå fremtiden med bilder

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

Skrevet av: Oppgaven er laget av GDG Bergen ( AU/GDGBergen/), og tilpasset Kodeklubbens format på oppgaver.

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

I denne oppgåva skal me lage eit enkelt spel der pingvinane har rømt frå akvariet i Bergen. Det er din (spelaren) sin jobb å hjelpe dei heim att.

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

PXT: Det regnar mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes. Oversatt av: Stein Olav Romslo

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

Lærerveiledning - Lunar Lander

"Dette skjer når jeg trykker på denne knappen" "Når jeg skriver i dette feltet, ser jeg at det andre forandrer seg"

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller mot den.

Kom i gang med Learn To Mod

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

Sprettball. Introduksjon. Skrevet av: Geir Arne Hjelle

Modell, meldinger og oppdatering

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

JS: Trykkomania. Introduksjon. Skrevet av: Arve Seljebu

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Steg 1: Lag en figur som bytter drakt

Steg 1: Vi starter fra toppen

Steg 1: Få Flakse til å falle

Vi skal nå programmere et romskip som flyr rundt på skjermen. For å ha kontroll på bevegelsen vil vi bruke to variable, fartx og

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Transkript:

Ping pong Skrevet av: Torbjørn Vik Lunde Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introdusjon: Her skal vi lage dataspillet Ping pong. Vi skal også lære om å hvordan du kan få programmene dine til å reagere på tastetrykk. Dette er veldig nyttig når du skal lage spill. Steg 1: Sprettende ball Vår begynnelse kommer til å ligne på det vi gjorde i den sprettende ballen (../sprettende_ball/sprettende_ball.html). Sjekkliste Start Processing og skriv dette:

float ballx; float bally; float ballxfart = 2; float ballyfart = 2; float ballradius = 9; float balldiameter = ballradius * 2; void setup() { size(600, 300); ballx = width / 2; bally = height / 2; void draw() { ballx = ballx + ballxfart; bally = bally + ballyfart; if (ballx < ballradius) { ballxfart = -ballxfart; if (ballx > width - ballradius) { ballxfart = -ballxfart; if (bally < ballradius) { ballyfart = -ballyfart; if (bally > height - ballradius) { ballyfart = -ballyfart; background(0); ellipse(ballx, bally, balldiameter, balldiameter); Koden er endret litt fra oppgaven om den sprettende ballen. Vi bruker andre navn på variablene våre. Det er også noen helt nye variabler. Hvorfor tror du vi har gjort dette? Kjør programmet ved å trykke på Ctrl + R eller knappen

Lagre programmet som PingPong ved å trykke på Ctrl+S eller velg File --> Save i menyen. Utfordringer Kan du endre størrelsen på ballen? Kan du endre farten til ballen? Steg 2: Ballen faller bak I Ping pong skal du hindre at ballen faller bak rekkerten. For at det skal være vits å gjøre dette må vi først sørge for at ballen ikke bare spretter tilbake når den treffer venstre vegg. Vi kan begynne med å sørge for at ballen ikke spretter tilbake. Fjern koden som gjør at ballen spretter tilbake (denne ligger i den øverste if -en), slik at du går fra dette: if (ballx < ballradius) { ballxfart = -ballxfart;

Til: if (ballx < ballradius) { Utfordringer Kan du få ballen til å dukke opp et annet sted etter den har gått igjennom veggen? Steg 3: Legg til rekkerten Nå som ballen kan falle igjennom den venstre veggen, så må vi få på plass en rekkert, slik at du kan slå ballen tilbake. Det gjør vi ved å ha noen tallvariabler som representerer hvor rekkerten er og hvor stor den er. I tilegg så må vi ha kode som sender ballen tilbake. Legge inn disse variablene nedenfor de som er der fra før:

float rekkerthoyde = 66; float rekkertbredde = 5; float rekkert1x = 20; float rekkert1y = 100; Disse variablene skal vi bruke til å holde styr på på størrelsen og plasseringen til rekkerten. Rett nedenfor background(0), legg til dette: rect(rekkert1x, rekkert1y, rekkertbredde, rekkerthoyde); Vi kan nå se rekkerten når vi kjører programmet, men ballen går igjennom rekkerten. Det er fordi vi ikke har skrevet kode som stopper ballen og sender den tilbake. Legg til følgende i draw()-funksjonen: if (ballx-ballradius < rekkert1x + rekkertbredde && ballx + ballra dius > rekkert1x) { if (bally < rekkert1y + rekkerthoyde && bally > rekkert1y) { ballx = ballx + rekkertbredde; ballxfart = -ballxfart;

Utfordringer Kan du gjøre rekkerten mindre? Kan du endre plasseringen til rekkerten? Forklaring Her er et bilde som forklarer hva de forskjellige variablene står for:

Steg 4: Styre rekkerten Vi har en rekkert, men den er ikke til mye hjelp så lenge du ikke kan styre den. Derfor må du skrive kode som gjør at du kan styre den. Skriv inn følgende i draw(): if (keypressed) { if (keycode == UP) { rekkert1y = rekkert1y - 2; if (keycode == DOWN) { rekkert1y = rekkert1y + 2; Denne koden sjekker først om en knapp er trykket ned (keypressed). Deretter sjekker den om det er opp- eller ned-knappen som blir trykket ned, og beveger rekkerten basert på dette.

Nå har du laget Ping pong! Bokstavtaster Hvis du vil styre ved å trykke på bokstavtaster istedenfor piltastene, må du endre litt på koden. Mange er vant til å styre opp med W og ned med S. Hvis du endrer: if (keycode == UP) { Til: if (key == 'w') { kan du styre opp med W. Hva tror du at du må gjøre for å kunne styre ned med S? Utfordringer Kan du endre farten rekkerten beveger seg i? Kan du legge til en rekkert på den andre siden slik at to spillere kan spille mot hverandre?

Kan du gjøre det slik at ballens vertikale retning (opp og ned) bestemmes av hvilken del av rekkerten den treffer? Kan du gjøre noe som gjør at spillet blir vanskeligere etter hvert? For eksempel at ballen går raskere og raskere etter hvert, eller at rakkerten blir mindre. Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)