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

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

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

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.

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

Steg 1: Lag bildedeklarasjon

Tegnespillet. Introduksjon:

Verden. Steg 1: Vinduet. Introduksjon

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

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

Sprettende ball Introduksjon Processing PDF

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

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

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

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

Farger. Introduksjon. Skrevet av: Sigmund Hansen

Kodetime for Nordstrand barneskole

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

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

Kanter, kanter, mange mangekanter

Løpende strekmann Erfaren Videregående Python PDF

Steg 1: Katten og fotballbanen

Farger Introduksjon Processing PDF

PXT: Micro:bit repeater

Steg 1: Piler og knappetrykk

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

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

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

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

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

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

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

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

Steg 1: Hvordan styre figurer med piltastene

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

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

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

Steg 1: Installere programvaren

Steg 0: Installere Pygame Zero

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

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

Steg 1: Få noe på skjermen

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

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

Steg 1: Bli kjent med spillet

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

Steg 1: Lag en figur som bytter drakt

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

Straffespark Introduksjon Scratch Lærerveiledning

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

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

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

Steg 1: Husker du skilpadden?

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

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

PXT: Flasketuten peker på

Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

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

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

Steg 1: Opprette spillskjerm

Steg 1: Animasjons-attributtet

JS: Grunnleggende JavaScript

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

Steg 1: Tekst på flere linjer

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

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

Mattespill Nybegynner Python PDF

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

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.

Astrokatt. Introduksjon. Steg 1: En flyvende katt. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Modell, meldinger og oppdatering

Kom i gang med Learn To Mod

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

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Steg 1: Hente grafikk fra nettet

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

Steg 1: Vi starter fra toppen

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

PXT: Spå fremtiden med bilder

Steg 1: Endre bakgrunn og finne figurer

Forberedelser: Last ned bildefiler

Skilpadder hele veien ned

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

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Steg 1: Hvordan fungerer spillet?

Steg 1: Vår første datamaskin

Steg 1: Canvas-elementet

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

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

Vi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss.

Steg 1: Få flere ting til å vise seg på tavlen

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

Steg 1: Lag en scene og legg til figurer

Bygge en pyramide. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Bursdag i Antarktis. Introduksjon. Steg 1: En katt på villspor. Sjekkliste. Skrevet av: Caroline Tandberg

Enarmet banditt Nybegynner Scratch Lærerveiledning

Steg 1: En første animasjon

Transkript:

ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi lage et spill som to personer kan spille mot hverandre. Vi har kalt det ToPlayer, men du kan kalle det hva du vil. Målet er å dytte en figur, eller en spillebrikke ut av vinduet på motstanderen sin side. Spillet ser ganske enkelt ut, men du kan etter hvert pimpe det opp som du vil. Når du har kommet deg gjennom hele denne oppgaven skal spillet ligne på bildet under. Du får bestemme farger og litt annet selv, så det vil avhenge av hva du liker.

Steg 1: Kom i gang med metodene setup og draw Start med å åpne Processing. Når det er gjort, så må du skrive to metoder. Alle metoder har sitt eget navn, og to metoder kan ikke hete det samme. De to metodene du skal skrive er setup og draw. Bortsett fra metodenavnet, så skrives de på akkurat samme måte. Derfor viser vi deg hvordan du skal skrive setup -metoden, og så må du selv forsøke å skrive draw -metoden. Slik ser setup -metoden ut: Gjør dette: Skriv draw -metoden under setup -metoden. Sjekk at metodene fungerer ved å kjøre programmet. Klikk på pilen oppe til venstre for å gjøre det. Dersom programmet kjører og alt er i orden så vil det dukke opp et nytt bitte lite vindu på skjermen din. Dersom du fikk opp vinduet, så er det bare å gå videre til steg 2. Dersom ikke, så kan du sjekke at du har fått med alle detaljene i koden din, ved å sammenligne med koden under. void draw(){

Lagre koden din før du går videre. Forklaring av setup og draw Alt innholdet i setup skjer én gang når programmet starter, deretter går programmet videre til draw. Alt innholdet i draw skjer på nytt og på nytt helt til programmet stopper. Steg 2: Bestem størrelse og bakgrunnsfarge på vinduet Nå er det størrelsen på vinduet og bakgrunnsfargen som skal kodes. For å gjøre det, trengs bare to kodelinjer. Begge skal skrives inn i setup -metoden. Å skrive kode inni en metode vil si at vi skriver mellom krøllparentesene, altså mellom disse to: { og. Størrelsen bestemmes ved å skrive denne kodelinja: size(200, 600); Tallene mellom parentesene bestemmer størrelsen på vinduet. Koden som bestemmer bakgrunnsfargen ser slik ut: background(40, 150, 255); Tallene inni parentesene bestemmer fargen. Her er en sjekkliste med ting du kan gjøre for å sjekke at du forstår koden din. For hvert punkt må du starte programmet og se hva som endrer seg. Det er viktig at du har forståelse for koden din før du går videre til neste steg. Sjekkliste Gjør det første tallet i parentesene til size dobbelt så stort. Forsøk å få vinduet til å dekke hele skjermen din. Sett tallene inni parentesene til background til å være dette: (255, 0, 0)

Sett tallene inni parentesene til background til å være dette: (0, 255, 0) Sett tallene inni parentesene til background til å være dette: (0, 0, 255) Sett tallene inni parentesene til background til å være dette: (0, 255, 255) Sett alle tallene inni parentesene til background til å være 0. Forsøk å få bakgrunnen til å bli hvit. Forsøk å få bakgrunnen til å bli lilla. Finn en størrelse du liker på vinduet ditt. Finn en bakgrunnsfarge på vinduet ditt som du liker. Kjør programmet ditt og sjekk at du får vinduet til å vises før du går videre. Her er koden vi har laga så langt, husk at dine tall kanskje er litt forskjellig fra våre tall. size(800, 500); background(40, 150, 255); void draw(){ Steg 3: Spillbrikke Vi skal lage spillbrikka, deretter skal vi gjøre slik at den kan bevege seg. Her er koden som skal brukes: fill(30, 230, 100); ellipse(400, 250, 50, 50);

Gjør dette: Skriv inn de to kodelinjene i draw -metoden og test at programmet kjører. Bytt ut ett og ett av tallene inni parentesen til ellipse og finn ut hva de gjør. Bytt ut ett og ett av tallene inni parentesen til fill og finn ut hva de gjør. Forsøk å få spillbrikka til å bli rosa. Forsøk å få spillbrikka til å bli så stor at den dekker hele vinduet. Still tilbake størrelsen på spillbrikka og velg en farge du liker. Nå skal vi gjøre slik at ellipsen er klar til å bevege seg sidelengs. Som du sikkert har funnet ut, så bestemmer det første tallet i parentesen hvor ellipsen står plassert sidelengs. Vi ønsker å gjøre dette tallet til en variabel, altså til et tall som kan variere. For å får det til, så deklarerer vi variabelen helt i toppen av programmet vårt (utenfor setup - og draw -metodene). Dette gjør vi ved å skrive denne kodelinja: int x; Denne lille koden er ganske enkel, int forteller PC-en at vi skal ha et heltall, og x er navnet vi har valgt å gi tallet vårt. Vi kunne kalt tallet noe helt annet som pute eller boks. Vi må gi x en verdi som den har til å begynne med, det gjør vi inni setup metoden. Alt vi trenger å skrive er dette: x = 90; Så må vi bytte ut det første tallet i parentesen til ellipse med x. Da ser koden for ellipse slik ut: ellipse(x, 250, 50, 50); Gjør dette:

Skriv inn de tre kodelinjene som ble forklart over, pass på at du plasserer dem på riktig plass i koden.. Test at programmet ditt kjører, ingenting nytt skal skje, bortsett fra at spillebrikken kanskje har flytta litt på seg. Bytt ut verdien til x med for eksempel 180 og se at ellipsa flytter seg. Se om du får til å plassere ellipsen så lagt ut til den høyre sida av vinduet at du bare kan se halve ellipsen. Plasser ellipsen midt på skjermen sideveis. Her er koden vi har laga så langt. int x; size(800, 500); x = 400; void draw(){ background(40, 150, 255); fill(30, 230, 100); ellipse(x, 250, 50, 50); Steg 4: Lag kontrollere! Nå skal vi lage en if -setning som registrerer om du trykker på en knapp. Skriv denne koden inni draw -metoden etter ellipsa: if(keypressed && key == 'a'){ x+=10; Denne koden skal gjøre slik at dersom man har trykka på en knapp og den knappen er a, så skal x, altså plasseringen til ellipsa vår, flytte seg 10 piksler til høyre.

Forklaring av if En if -setning sjekker om noe er sant. Dersom det er sant, så skjer det som står inni if -setningen. En if -setning er bygd opp av en test og så noe som blir utført: if(test){ her utføres noe bare dersom testen er sann. If -tester er lette å sette opp som muntlige setninger og så gjøre dem om til kode etterpå. Vi skriver det på samme måte som en ordentlig if -setning, slik at det er lett å gjøre om til kode. Inni if -setningen har vi kommet med noen eksempler. Dersom ( et eller annet er sant) så skal dette skje{ vi får mer liv vi hopper, noe flytter på seg, Noe som er vanlig å sjekke i en if -setning er om man har trykka på en spesiell knapp, eller om datamusa er innenfor et bestemt område. Eller man kan sjekke hvor mange liv man har igjen, og dersom det er 0 så kan man skrive "GAME OVER". Når vi skriver if-setningen vår med ord blir det slik: Dersom (man trykker en knapp og knappen er 'a') så skal dette skje { ellipsen skal bevege seg til høyre; Vi forsøker å gjøre setningen mer lik kode: dersom ( enknapperpressaned og knappen er lik 'a'){ så skal x bli 10 større; Så gjør vi det til kode: if(keypressed && key == 'a'){ x+=10;

Prøv dette Skriv inn if-setningen i draw -metoden. Kjør programmet, trykk på a, hva skjer? Flytt kodelinja som setter bakgrunsfargen fra setup -metoden til draw metoden. Putt den øverst inni draw. Kjør programmet på nytt og se hva som skjer. Bytt ut 10-tallet med ett annet tall. Bytt ut a med en annen bokstav. Flytt kodelinja som setter bakgrunnsfargen frem og tilbake mellom setup og draw noen ganger og se om du forstår hva som skjer. Forsøk nå å skrive en if -setning til. Denne skal stå under den forrige, og nå kan du velge en annen bokstav. I stede for at x blir større, så må du skrive koden slik at x blir mindre. Dersom det er litt vanskelig, så kan du forsøke å sette opp if - setningen som en vanlig setning slik vi har vist i forklaringen over. Bytt ut tallet inni den nye if -setningen, slik at du får ellipsen til å gå dobbelt så raskt til venstre. Dersom ikke koden din fungerer helt som den skal, så kan du sjekke her hva som er feil.

int x; size(800, 500); x = 400; void draw(){ background(40, 150, 255); fill(30, 230, 100); ellipse(x, 250, 50, 50); if(keypressed && key == 'a'){ x+=10; if(keypressed && key == 'l'){ x-=10; Steg 5: Vi trenger en vinner! Vi trenger flere if -setninger, disse skal skrive en beskjed på skjermen hvis en spiller vinner. Man vinner med å dytte ellipsen ut av skjermen. Her er if -setningen som trengs for å sjekke om venstre spiller har vunnet. Denne skal skrives under de to forrige if -setningene: if(x > 800){ text("venstre spiller vant!", 350, 200); Prøv dette Skriv inn den nye if -setningen. Sjekk at programmet fungerer ved å få ellipsen ut av skjermen på høyre side. Da skal teksten vises.

Hva tror du skjer hvis du forandrer 800 tallet som står inni (x > 800) til ett annet tall? Bytt ut 800 med noe mye mindre og finn ut hva som skjer. Hva skjer hvis du forandrer teksten til "Høyre spiller har vunnet"? Finn ut hva tallene som står inni parentesene til text gjør ved å bytte dem ut. Gjør størrelsen på vinduet ditt større og se hvordan det påvirker if -setningen. Still tilbake alle tallene, slik at teksten dukker opp på skjermen bare når spillbrikka er ute av skjermen. Lag en ny if -setning som gjør nesten akkurat det samme, men som heller sjekker om ellipsen går ut av skjermen på venstre side. Test at koden din fungerer. Her er hele koden, sjekk om din er lik.

int x; size(800, 500); x = 400; void draw(){ background(40, 150, 255); fill(30, 230, 100); ellipse(x, 250, 50, 50); if(keypressed && key == 'a'){ x+=10; if(keypressed && key == 'l'){ x-=10; if(x > 800){ text("venstre spiller vant!", 350, 200); if(x < 0){ text("høyre spiller vant!", 350, 200); Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)