Bug Race deluxe - del 2
Svårighetsgrad
20 min
Svårighetsgrad
20 min
1
2
3
4
Detta är fortsättning på uppgifterna Bug Race och Bug Race deluxe – del 1. Du måste ha gjort båda dessa för att kunna göra denna övning. I del 2 kommer du få koda så att skalbaggen kan åka olika fort, du kommer lägga in hinder för den och skapa flera banor.
Bläddra dig fram genom denna guide, steg för steg. Öppna även kodarverktyget Scratch genom att klicka på länken bredvid katt-figuren ovan eller via www.scratch.mit.edu. Här kodar och skapar du själva spelet utifrån instruktionerna nedan.
Ett exempel på Bug Race delux kan se ut hittar du här: https://scratch.mit.edu/projects/197016490
Då börjar vi koda!
Vi vill att farten ska ändras när skalbaggen äter mat så att det blir svårare ju fler liv du får.
Skapa en variabel som heter Fart
Visa inte variabeln på spelplanen genom att klicka bort krysset under kategorin Data
Ändra på koden för sprajten Skalbaggen
Sätt Fart till 2 när meddelandet "starta" tas emot. Du kan ändra på skriptet du redan har kodat.
Ändra i "För alltid"-loopen så att skalbaggen går “Fart” steg i stället för det antalet steg den går nu
Ändra på koden för sprajten som är Mat
Ändra Fart med 0.5 eller 1 när sprajten rör skalbaggen
Testa! Går det för fort eller för långsamt? I så fall kan du ändra hur mycket Fart är i början av spelet och hur mycket det ändras när skalbaggen äter mat.
Nu ska du göra det ännu svårare för Skalbaggen genom att koda hinder som dyker upp på banan. Mycket att koden kommer vara samma som för sprajten som är mat – därför kommer du börja med att kopiera denna sprajt.
Kopiera sprajten som är mat, t.ex. äpplet, genom att högerklicka på sprajten
Döp om sprajten till Hinder
Kryssa i rutan Visa så du tillfälligt visar sprajten på spelplanen
Gå till fliken Klädsel
Lägg till en ny klädsel från bibliotek
Du kan till exempel välja en sten
Förminska sprajten om den är för stor
Nu behöver du ändra koden så att den nya sprajten beter sig mer som ett hinder än mat.
Ändra koden som körs när sprajten Hinder rör vid sprajten Skalbagge
Ändra Liv med -1
Skicka meddelandet "game over?" och vänta
Skicka meddelandet "starta"
Radera klonen
Testa! Kommer stenarna upp för ofta eller stannar de kvar för länge? Ändra på koden som placerar ut kloner och tar bort dem.
För att skalbaggen ska ha en chans att klara sig runt banan ska du få koda skott som skalbaggen kan använda sig av för att skjuta bort stenarna.
Rita en ny sprajt
Den ska vara ungefär 10x10 pixlar stor, använd förstoringsglaset
Färglägg den med en trevlig färg. Obs! Inte samma färger som du redan har på banan, gräset eller mållinjen.
Skapa en ny variabel som heter "Antal skott"
Visa inte "Antal skott" på spelplanen
Nu behöver du skapa ett skript för skottet som gör att det:
Avfyras när du trycker på mellanslag
Försvinner när den rör kanten
Bara kan avfyras 3 skott åt gången på scenen, för annars kan du fylla hela scenen med skott!
Skapa ett skript för sprajten Skottet som säger
När START klickas på
Göm
Sätt Antal skott till 0
Skapa ett andra skript för sprajten Skottet som säger
När mellanslag trycks ned
OM "Antal skott" är mindre än 5
Ändra "Antal skott" med 1
Skapa klon av mig själv
Nu har du skript som gör att maximalt 4 skott avfyras när du trycker ner mellanslag. Nu ska du koda så att skottet visas och försvinner när den når till kanten.
Skapa ett nytt skript för Skottet som säger
När jag startar som klon
Gå till x: x-läge av Skalbagge y: y-läge av Skalbagge
Peka i riktning av Skalbagge
Visa
Repetera tills rör kanten:
Ändra "Antal skott" med -1
Radera klonen
Ändra koden för sprajten Hinder så att den försvinner om den rör sprajten Skott
Nu finns det bara en bana som skalbaggen kan åka på, men det ska du ändra på nu!
Klicka på Rita ny bakgrund
Rita en ny bana
Banorna ska ha samma färg på banan, t.ex. Grå
Banorna ska ha samma färg på gräset, t.ex. Grönt
Banorna ska börja på ungefär samma ställe
Tips! För att få exakt samma färger på båda banorna kan du använda dig av verktyget Välj färg
Den nya banan kan se ut till exempel så här:
När ska skalbaggen komma till den nya banan? Ja, det är upp till dig. Här är två förslag:
När du gjort några varv av en bana
Ändra på OM-blocket som körs när skalbaggen nuddar mållinjen.
Lägg in dessa block precis innan du skickar meddelandet "starta"
Markera bakgrunden
Skapa detta skript för bakgrunden
När jag tar emot "Byt bana"
Nästa bakgrund
Sätt "Varv" till 0
Varje gång du kommer i mål
Ändra på OM-blocket som körs när skalbaggen nuddar mållinjen.
Lägg in ett block skicka "byt bana" innan du skickar meddelandet “starta”
Markera bakgrunden
Skapa detta skript för bakgrunden
När jag tar emot "Byt bana"
Nästa bakgrund
Grattis, nu har du skapat ett nytt spel!
Glöm inte att spara ditt projekt! Döp det gärna till uppgiftens namn så att du enkelt kan hitta den igen.
Testa ditt projekt
Visa gärna någon det som du har gjort och låt dem testa. Tryck på DELA för att andra ska kunna hitta spelet på Scratch. Gå ut till projektsidan och låt någon annan testa spelet!
Andra typer av hinder
Hindren som du har kodat nu står till på banan och du kan ganska enkelt skjuta ner dem. Försök koda ett annat typ av hinder. Till exempel
Ett hinder som du behöver skjuta på flera gånger
Ett rörligt hinder som rör sig över banan
Möjligt att köra på gräset
Gör det möjligt för skalbaggen att åka på gräset. I stället för att starta om från början så kan till exempel hastigheten minska. Detta gör att det blir enklare att undvika svåra hinder.
Andra typer av underlag
Nu finns det två typer av underlag: bana och gräs. Rita och koda ett till underlag, till exempel grus. Vad som ska hända om skalbaggen kommer på detta underlag får du bestämma.
Flera spelare
Har du fortfarande bara en spelare? Koda en till sprajt som en kompis kan styra. Här är några tips:
Du måste ha en variabel "Fart2" för den andra spelaren
Du måste koda en sprajt Skott för den andra spelaren
Du måste se till att sprajten Hinder känner av skott från den andra spelaren
Du måste bestämma regler för när den nya banan ska visas
Vad är fördelen med att koda ett stort program i flera steg där varje steg är ett färdigt program?
Vad är fördelen med att testa sin kod ofta?
I uppgiften kopierade du sprajten Mat för att skapa sprajten Hinder i stället för att koda en helt ny sprajt. Vad är fördelar och nackdelar med detta?