Labyrinten
Svårighetsgrad
20 min
Svårighetsgrad
20 min
1
2
3
4
5
6
7
Det här är ett spel där du ska försöka ta dig igenom en labyrint utan att röra väggarna och hinder - för då blir du Game Over! Du kan även utmana dig och skapa nya banor för att komma till nästa nivå i spelet. Det är ett roligt spel för dig som vill hitta på och rita mycket själv! Du kommer att få lära dig att använda variabler och funktioner.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrinten_0_spela.mp4" autoplay loop muted height=480 width=640 />En labyrint kan se ut på många olika sätt och du kan rita din som du vill. Här visar vi exempel på hur ett labyrintspel skulle kunna se ut, beroende på vilken form labyrintens väggar har:
HUR KODAR JAG?
Följ denna instruktion steg för steg och koda ditt projekt i verktyget Scratch. Klicka här för att öppna Scratch i en ny flik. I Scratch klickar du på Skapa för att börja. Logga gärna in på Scratch så kan du även spara och dela ditt projekt. Det är gratis att skaffa ett konto.
Hur vill du att din labyrint ska se ut? Dax att börja koda!
Klicka nedan på nästa kapitel för att gå vidare.
Först ska du lägga till en ny figur som ska kunna styras genom labyrinten. Det blir din spelhjälte.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_1.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Ta bort kattfiguren
Välj ny sprajt
Minska storleken på sprajten
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
21. Tryck på den lilla blå ikonen med en vit katt på längst ned till höger, så blir den grön - tryck nu på den gröna. Då kommer du till ett sprajtbibliotek, där du kan välja en ny sprajt. Tryck på en sprajt du gillar för att lägga till den i ditt projekt.
Tänk på! Välj en sprajt som inte är för bred eller lång, annars kan den vara svår att styra utan att stöta i väggarna.
Tips! Om du vill rita din egen sprajt, så gör du såhär: Håll muspekaren över (utan att klicka) på ikonen för Ny Sprajt i nedre högra hörnet så att fler val kommer fram. Välj Måla som ser ut som en liten pensel. Rita din egen sprajtfigur, men tänk på att den inte ska vara för stor, bred eller lång, då blir den svår att svänga i labyrintens hörn. Var noga med att sprajten ritas med andra färger än din bakgrund och labyrintens väggar.
Nu har vi en spelfigur, men vi behöver rita labyrinten. Vi bläddrar vidare!
Du väljer själv hur du vill rita din labyrint, men du måste följa vissa regler för att spelet sen ska fungera: Labyrintens väggar måste alla vara i samma färg. Start och mål ska ha varsin färg och de får inte ha samma färger som väggarna eller bakgrunden har.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_2.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Fylla scenen med en bakgrundsfärg
Rita en enkel bana med väggar i en annan färg
Rita startpunkt och målpunkt i två olika färger
Sätt sprajtfiguren på startpunkten och minska storleken på sprajten
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
Nu ska du skapa din labyrint med en bakgrundsfärg, labyrintväggar, start och mål. Viktigt att du ger varje del en egen färg för att spelet sen fungera.
En enkel labyrint kan se ut såhär, men du ritar din som du vill. Tips är att skapa en enkel, bred bana utan för många väggar och svängar.
2. Klicka först på den blå knappen under målarytan som det står Gör till bitmap på.
3. Välj en ny färg du gillar. Klicka på färgverktyget och dra i färgväljarens inställningar tills du är nöjd med din färg.
4. Välj sen verktyget som ser ut som en liten hink och tryck på den stora vita rutan bredvid så fylls den med din nya färg.
5. Nu ska du rita din labyrints väggar med en annan färg än bakgrunden. Välj ett verktyg att måla med och en väggfärg du vill ha. Om du vill ha raka streck kan du välja LINJE-verktyget. Rita väggarna så att sprajten kan gå emellan och svänga utan att stöta i väggarna.
Tänk på! Det är viktigt att alla väggarna har samma färg genom hela labyrinten och att avståndet mellan väggarna ska vara lagom stort så sprajten kommer emellan.
Dra sprajten till din labyrints startpunkt och ändra eventuellt storleken på sprajten om den verkar vara för stor eller för liten för att passa mellan väggarna i din labyrint. Den behöver lite svängrum omkring sig för att inte stöta i väggen. Du ändrar storleken i rutan som heter Storlek under SCENEN med ditt spel.
Nu är labyrinten klar. Tryck på fliken KOD längst upp i vänstra hörnet, så kommer du ut ur ritläget och tillbaka till där du kodar.
Nu är det dax att börja koda sprajtens rörelse genom labyrinten!
Din sprajt ska kunna röra sig igenom labyrinten och ta sig i mål. Sprajten ska styras med piltangenterna på datorns tangentbord.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_3.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Lägga till ett block för piltangent uppåt.
Lägga till block för att sprajten ska peka uppåt.
Lägga till block för att sprajten ska röra sig när du trycker på piltangenten.
Gör sen tre likadana skript till så sprajten kan röra sig i alla riktningar (uppåt, nedåt, höger och vänster).
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
Dax att koda sprajtens rörelser. Den ska röra sig framåt i olika riktningar och styras med hjälp av piltangenterna på datorns tangentbord.
2. Klicka på lilla pilen bredvid ordet mellanslagstangenten i blocket. Välj uppåtpil istället.
3. Från tema RÖRELSE drar du ut blocket peka i 90 grader. Lägg blocket direkt under det andra på skriptytan, så de sitter ihop.
5. Från tema RÖRELSE drar du ut blocket gå 10 steg. Lägg blocket direkt under de andra på skriptytan, så att de alla sitter ihop.
7. Skapa nu tre till likadana skript, så du kan styra genom labyrinten åt alla håll med tangentbordets fyra piltangenter. Ändra piltangentknapp och riktningen sprajten pekar för att styra vänster, höger och nedåt.
Tips! Du kan kopiera kodblock och hela skript med kod genom att högerklicka på det översta blocket i skriptet du vill kopiera och välja Kopiera i menyn som kommer fram. Klicka sedan på den vita skriptytan bredvid så fastnar en kopia där. Sedan kan du bara ändra lite i koden i kopian.
Testa koden! Kan du röra din sprajt åt alla håll? Rör sig sprajten lagom långt när du trycker på piltangenterna?
För att slippa dra tillbaka sprajten till startplatsen hela tiden, ska du lägga till en startposition. Vi lägger även till en startriktning, så att sprajten tittar åt rätt håll när den startar.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_4.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Lägga till ett startblock med grön flagga
Lägga till ett block för sprajtens startposition
Lägga till ett block för sprajtens startriktning
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
2. Nu ska du lägga till sprajtens startposition. Dra först sprajten så den står på mitten av startplattan i din labyrint. Under tema RÖRELSE drar du in blocket gå till x__ y__. (det står siffror med koordinater för x och y i blocket). Lägg blocket direkt under kodblocket när GRÖN FLAGGA klickas på. Nu startar sprajten på samma ställe varje gång du startar spelet med den gröna flaggan ovanför ditt spel.
3. Det är bra om sprajten tittar i en bestämd riktning när spelet ska börja. Under tema RÖRELSE finns blocket peka i riktning 90. Dra in blocket och lägg det direkt under blocket för gå till x__ y__ i skriptet.
15. Om sprajten inte tittar åt rätt håll när du startar med gröna flaggan, så klicka på på siffran 90 i kodblocket på skriptytan och ändra riktningen åt det håll som passar din labyrint bäst genom att dra runt i den vita riktningspilen som kommer fram.
Testa koden! Går sprajten i lagom hastighet? Startar den på rätt ställe? Pekar den i rätt riktning när den startar? Ändra i variablerna om du inte är nöjd.
Dax att koda så sprajten kan vinna eller förlora i spelet.
Här ska du programmera in villkor i koden som skapar olika händelser. Exempel: OM sprajten rör vid en vägg i labyrinten, DÅ blir spelet Game Over och hamnar tillbaka på startpunkten. OM sprajten rör vid målpunkten - DÅ vinner du. Vi ska koda så att sprajten känner av vilken färg den rör vid, så den vet vart den befinner sig.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_5.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Skapa ett villkor som känner av målfärgen och säger "Jag vann!"
Skapa ett villkor som känner av väggfärgen i labyrinten och säger "Game Over!".
Lägg till en loop och lägg in villkoren i loopen
Sätt ihop skriptet med startflaggans skript
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
Nu ska du koda så att sprajten hela tiden känner av ifall den rör vid färgen för mål eller en vägg. Vi börjar med målet för att vinna:
3. Nu ska vi ställa in rätt färg för just din målpunkt. Tryck på färgcirkeln i kodbiten rör vid färgen. Välj lilla pimpett-verktyget i menyn längst ned och tryck sen på färgen på labyrintens mål-markering. Färgen ändras då till den rätta målfärgen i blocket rör vid färgen.
Om sprajten rör vid målet i labyrinten, ska du vinna spelet och sprajten ska säga "Jag vann!" och hamna tillbaka på start-markeringen igen, redo för att spelas på nytt. Koden ska då också stoppas. Gör såhär:
5. Tryck på texten "Hej!" i kodblocket och skriv istället "Jag vann!"
6. Se till att din sprajt står på mitten av start-markeringen i labyrinten. Från tema RÖRELSE drar du in kodblocket gå till x__ y__ och lägger in den i villkorsblocket direkt under säg Jag vann! i 2 sekunder.
7. När du kommit i mål i spelet ska allt stoppas - och koden sluta köras. Från tema KONTROLL drar du in blocket stoppa alla. Lägg in den direkt under gå till x__ y__ i din villkors-loop.
9. Nu ska du koda ett nytt skript med ett till villkor som känner av väggfärgen istället. Skriptet skasäga att: OM sprajten känner av vägg-färgen, DÅ ska spelet bli Game Over och stoppa. När du är klar ska detta villkors-skript för väggfärgen se ut såhär.
För att sprajten ska kunna vinna eller förlora behöver villkoren som känner av väggfärgen och målfärgen läggas in i ett större skript med en loop.
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_6.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Lägga till en loop till sprajtens skript
Lägga in de två villkoren inuti loopen
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
2. Lägg nu in dina två villkor med väggfärg och målfärg inom för alltid-loopen, det ena under det andra, så att ditt skript ser ut såhär när du är klar:
Testa koden! Klicka på START-flaggan. Går sprajten åt rätt håll och med en hastighet som känns bra? Säger den "Game Over!" när du nuddar en vägg? Går den tillbaka till startpunkten. Säger den "Du vann!" när du nuddar målpunkten?
Nu har du ett spel som fungerar! Dax att göra det lite roligare med hinder!
Det behöver inte bara vara väggarna i labyrinten som gör dig Game Over. Du kan hitta på andra hinder eller motståndare som din sprajt måste ta sig förbi på väg till mål.
Kanske hindren blir att ta sig förbi stenar, och om man rör vid stenarna blir man Game over, precis som om man rör väggarna. Exempelvis såhär:
<video src="https://raw.githubusercontent.com/Kodcentrum/Scratchuppgifter-v3/master/block3_labyrinten_v.enkel2/./Labyrint_7.mp4" controls muted height=480 width=640 />VAD SKA JAG GÖRA?
Se i videon ovan hur du ska:
Lägga till nya sprajtar som hinder
Koda så att om spelfiguren rör vid ett hinder, då ska spelet bli Game Over
Koda så att hindren kan röra sig för att göra spelet svårare
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
3. Nu ska vi göra så att hindret med sten-sprajten rör på sig. Under HÄNDELSER drar du in blocket när GRÖNA FLAGGAN klickas på.
6. Vi vill att hindret ska åka lite fram och tillbaka när spelet går igång. Dra sprajten för ditt hinder lite åt ena sidan dit du vill att den ska åka till och ställ den där. Från tema RÖRELSE drar du ut kodblocket glid till x__ y__ och lägg blocket inuti loopen.
7. Dra sprajten för ditt hinder lite åt andra sidan dit du vill att den ska åka tillbaka till och ställ den där. Från tema RÖRELSE drar du ut ett till kodblock med glid till x__ y__ och lägg blocket nederst inuti loopen. När du är klar ser det färdiga skriptet ut såhär:
Testa koden! Rör sig hindret? Går det för långsamt? Ändra tiden den glider på. Testa dig fram, kanske 0.5 sekunder blir lagom? Se till så att det faktiskt är möjligt för sprajten att ta sig förbi hindret. Ibland kan man behöva flytta på det tills det funkar.
Nu ska vi lägga till kod i vår spelfigurs sprajt, så den kan känna när den rör vid hindret - och bli Game Over! Klicka först på din spelfigurs sprajt (den lilla figuren av din spelfigur under scenen med spelet). Då blir den aktiverad och skriptytan med koden för spelfiguren kommer fram.
Från tema KONTROLL drar du ut ett villkor med blocket om...då.... Lägg blocket fritt på spelfigurens skriptyta.
12. Från tema KONTROLL drar du in stoppa alla. Lägg blocket längst ned i villkoret.
13. Dax att lägga in detta skript med villkoret in i spelsprajtens stora skript med de andra villkoren som känner av målfärg och väggarnas färg. Lägg in hindrets villkor inom loopen så det ser ut såhär:
Testa koden! Rör sig hindret som du vill? Blir spelet Game Over om spelsprajten nuddar hindret?
Tips! Det finns massor av sätt att lägga in olika hinder på. Du kan ha flera olika hinder och göra ett villkor för varje för spelfiguren att känna igen dem om sprajten rör vid dem. Men du måste inte alltid bli Game Over om du rör vid hindret. Kanske du istället ska få eller tappa poäng, få liv, förlora tid, fånga en nyckel för att öppna en dörr vid målpunkten? Hur vill du att dina hinder ska fungera?
Grattis, nu har du gjort klart uppgiften. Nedanför finns utmaningar för att skapa mer i ditt spel, så som en tidräknare och fler banor och nivåer.
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!
Har du tid över och vill bygga mer på spelet? Då kan du lägga till en timer som räknar ned speltiden och fler banor och nivåer. Här kommer några förslag på hur du kan skapa detta.
Dags att göra spelet lite svårare! Vi lägger till en tidräknare! Du ska se till att spelaren har en viss tid på sig att ta sig igenom labyrinten. Om man inte är i mål när tiden är slut förlorar man!
VAD SKA JAG GÖRA?
Skapa en variabel för tid
Koda variabeln att räkna ned 60 sekunder
Sätt upp villkoret att om tiden är slut ska spelet bli Game Over
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
För att skapa en tidräknare behöver du först skapa en ny variabel som ska heta "Tid". En variabel är lite som en låda som håller reda på saker som sker i spelet, så som hur mycket tid som gått eller hur många poäng som sprajten fått. Gör såhär:
Variabeln "Tid" måste kodas för att fungera som vi vill. Den ska räkna ned tiden i sekunder från 60 till 0. Gör såhär:
Vi gör ett nytt skript bredvid det första Från tema HÄNDELSER drar du ut blocket när GRÖN FLAGGA klickas på. Lägg det fritt på skriptytan för din sprajt.
Under tema VARIABLER drar du ut blocket sätt min variabel till 0. Sätt blocket direkt under när GRÖN FLAGGA klickas på.
4. Klicka på lilla pilen bredvid min variabel i blocket och byt till Tid. Ändra variabel-siffran 0 till 60 (eller till den tid du vill ha på dig i ditt spel).
Nu ska vi koda in ett villkor som säger att om tiden är större än 60 så ska den räkna ned en sekund i taget, och när den är på 0 blir spelet Game Over. Gör såhär:
När du är färdig ska hela skriptet för tidräknaren se ut såhär:
Nu har du en timer, det vill säga en tidräknare!
Testa koden! Klicka på START. Räknar tiden ned? Vad händer om du nuddar väggen? Är det enkelt eller svårt att spela? Tänk på att du kan ändra tiden som tidräknaren startar med, om du vill ha längre eller kortare tid på dig.
Som spelet ser ut nu händer ingenting när du vinner. Det ska du ändra på nu! Du ska få göra så att du kommer till en ny bana, en ny nivå, när du tagit dig genom labyrinten. Det gör du genom att rita nya bakgrunder som följer reglerna:
Samma position och färg på startpunkten
Samma färg på väggarna
Samma färg på målpunkten
Att det inte finns andra saker med samma färg som väggen eller målpunkten
VAD SKA JAG GÖRA?
Kopiera bakgrunden
Byta ut färgen på bakgrunden
Rita ny labyrintform och flytta målpunkten
Koda in att byta till nästa bana när spelfiguren går i mål
INSTRUKTION HUR JAG GÖR STEG-FÖR-STEG:
Klicka på scenens bild i nedre högra hörnet av Scratch. Klicka sen på fliken BAKGRUNDER i övre vänstra hörnet av Scratch. På vänster sida finns en liten bild av din nuvarande bakgrund med din labyrint. Högerklicka på lilla bakgrundsbilden så får du upp valet kopiera. Klicka på kopiera, så får du en ny kopia av din bakgrund. Se till att du har din kopia av bakgrunden vald.
2. Klicka på verktyget med en hink. Välj en ny färg för bakgrunden. Se till att färgen inte är samma som din startpunkt, målpunkt eller väggfärg. Klicka på bakgrunden för att byta ut färgen. Klicka även på labyrintens väggar och på målpunkten så de målas över med. OBS! Måla inte över startpunkten!
3. Nu ska vi måla en ny labyrint med samma väggfärg som den förra labyrinten. Vi ska därför hämta upp färgen från den första labyrintens bakgrund och använda den. Gör såhär:
Klicka på färgväljaren och sen på det lilla pimpettverktyget längst ned.
Välj väggfärgen genom att klicka på väggen - så har du rätt färg.
Välj verktyg, exempelvis LINJE-verktyget och ändra storlek till ca 10.
Rita din labyrint med start vid din Startpunkt.
Gå till din första bakgrund genom att klicka på den lilla bilden av översta bakgrunden till vänster.
Klicka på färgväljaren och sen på det lilla pimpettverktyget längst ned.
Välj målpunktens färg genom att klicka på målpunkten - så har du rätt färg.
Gå till din nya bakgrund genom att klicka på den lilla bilden av den till vänster.
Välj verktyg, exempelvis PENSEL-verktyget och ändra storlek till 100.
Rita din Målpunkt där din labyrint slutar.
Nu har du en ny labyrint och som kan bli din nästa nivå. Nu ska vi koda så att bakgrunden byts till nästa labyrint när spelfigurens sprajt går i mål. Det gör du genom att lägga till ett block som sänder ut ett meddelande när sprajten nuddar målpunktens färg. Gör såhär:
 7. Tryck på texten meddelande 1 så får du upp en meny och kan välja Nytt meddelande. Ge det nya meddelandet namnet NästaNivå.
8. Klicka på lilla bilden för bakgrunden där det står SCEN, långt till höger i Scratch. Då blir bakgrunden vald och kan kodas. Se till att du står på den första bakgrunden den du vill starta spelet med. Lägg sedan till ett nytt skript för SCENEN som säger:
När sprajten tar emot meddelandet NästaNivå
Byt till nästa bakgrund
9. Slutligen behöver du sätta in kod som gör att första bakgrundsbilden alltid visas när du sätter igång spelet, så det inte blir fel bakgrund i början. Se till att din spelfigurs sprajt är aktiverad. Under tema UTSEENDE finns blocket Växla till bakgrund 1. Lägg in detta kodblock till sprajten direkt in under översta blocket för När GRÖN FLAGGA klickas på. Då börjar spelet alltid med Bakgrund 1.
Tips! Du kan även göra nivåerna svårare genom att skapa svårare banor, lägga till kluriga hinder eller minska spelets tid för varje nivå. Kanske dolda cheats och portaler, nycklar att samla in som öppnar dörrar, varialer som rknar liv eller poäng. Lägg gärna på musik och effektljud. Testa dig fram och skapa ditt spel som du vill.
Var kan du hitta de nuvarande koordinaterna för en sprajt?
Vad är en variabel?
Vad händer om start och mål har samma färg?
Vad måste du tänka på när du skapar flera banor?