Projekt skabt ved hjælp af brugerbidrag

Dette projekt er lavet sammen med Erik og hans datter Ruth. Hvis du har lyst til at bidrage med dit eget projekt, så kontakt os på Github.

Introduktion

I dette projekt skal vi lave et hukommelsesspil, hvor du skal huske og gentage en rækkefølge af tilfældige farver!

Trin 1: Tilfældige farver

Lad os først lave lave en figur, som kan ændre sig til en tilfældig rækkefølge af farver, som spilleren skal huske.

Arbejdsliste

  • Start et nyt Scratch projekt og slet katte-spriten, så dit projekt står tomt. Du kan finde Scratch redigeringsprogrammet online på jumpto.cc/scratch-new.

  • Vælg en figur og en baggrund. Din figur behøver ikke være en person, men den skal være i stand til at vise forskellige farver.

screenshot

  • I dit spil skal du bruge et forskelligt nummer, som repræsenterer hver enkel farve:

    • 1 = rød;
    • 2 = blå;
    • 3 = grøn;
    • 4 = gul.

Giv din figur 4 forskellige farvekostumer, en for hver af de 4 ovenstående farver. Sørg for at dine farvede kostumer ligger i den rigtige rækkefølge.

screenshot

  • Du skal oprette en liste for at lave en tilfældig rækkefølge. En liste er blot en variabel, som opbevarer en stor mængde data i ordnet rækkefølge. Lav en liste som du kalder rækkefølge. Da det kun er din figur, som skal se denne liste, så vælger vi ‘Kun for denne sprite’.

screenshot

Nu bør du se din tomme liste øverst til venstre af din scene samt en del nye brikker, der bruger lister.

screenshot

  • Tilføj denne kode til din figur for at tilføje et tilfældigt nummer til din liste (og for at vise det korrekte kostume) 5 gange:

    når du klikker på ⚑
    slet (alle v) fra [rækkefølge v]
    gentag (5) gange    
    tilføj (vælg tilfældigt mellem (1) og (4)) til [rækkefølge v] 
    skift kostume til (punkt (last v) på [rækkefølge v])
    vent (1) sekunder 
end

Sørg også for at din liste er tom fra start af.

Udfordring: Tilføj lyd

Afprøv dit projekt et par gange. Måske du har lagt mærke til, at samme nummer vælges to (eller flere) gange i træk, hvilket gør rækkefølgen sværere at huske. Kan du lave en trommelyd hver gang figuren skifter kostume?

Kan du få en anden trommelyd frem afhængig af det tilfældige nummer, som bliver valgt? Dette ligner meget den kode, som ændrer figurens kostume.

Gem dit projekt

Trin 2: Gentagelse af rækkefølgen

Lad os tilføje 4 knapper så spilleren kan gentage den rækkefølge, han/hun har husket på.

Arbejdsliste

  • Tilføj 4 sprites til dit projekt, som bliver knapperne. Redigér dine 4 sprites, således der er 1 knap for hver af de 4 farver.

screenshot

  • Når man klikker på den røde tromme skal du udsende en meddelelse til din figur og lade den vide, at der er blevet klikket på den røde knap. Tilføj denne kode til din røde tromme:

    når denne sprite klikkes
    send [rød v] til alle

  • Når din figur modtager denne besked bør den tjekke, om nummeret ‘1’ befinder sig i starten af listen (hvilket betyder at rød er den næste farve i rækkefølgen). Hvis den er det, kan du fjerne nummeret fra listen, da det så er blevet gættet korrekt. Ellers er spillet slut!

    når jeg modtager [rød v]
    hvis <(punkt (1 v) på [rækkefølge v]) = [1]> så
    slet (1 v) fra [rækkefølge v]
    ellers
    sig [Game over!] i (1) sekunder
    stop [alle v]
end

  • Du kan også vise nogle blinkende lys, når listen er tom, da dette betyder at hele rækkefølgen er blevet gættet korrekt. Tilføj denne kode til slutningen af din figurs når du klikker på ⚑ script:

    vent indtil <(længden af [rækkefølge v]) = [0]>
    send [vundet v] til alle og vent

  • Klik på din scene og tilføj denne kode således at baggrunden ændrer farve, når spilleren har vundet.

    når jeg modtager [vundet v] 
    spil lyden [drum machine v]
    gentag (50) gange
    ændr effekten [farve v] med (25)
    vent (0.1) sekunder
    end
    fjern grafiske effekter

Udfordring: Lav 4 knapper

Gentag trinene ovenfor med din blå, grønne og gule knap. Hvilken kode forbliver den samme, og hvilken kode ændrer sig for hver knap?

Du kan også tilføje lyde, når der trykkes på knapperne.

Husk at afprøve den kode, du har tilføjet! Kan du lære en rækkefølge på 5 farver udenad? Er rækkefølgen forskellig fra gang til gang?

Gem dit projekt

Trin 3: Flere niveauer

Indtil videre skal spilleren kun huske på 5 farver. Lad os forbedre dit spil, så rækkefølgen bliver længere.

Arbejdsliste

  • Lav en ny variabel, som du kalder score.

screenshot

  • Denne score vil vi bruge til at bestemme længden af den rækkefølge, som spilleren skal huske. Så til at starte med er scoren (og længden af rækkefølgen) 3. Tilføj denne kode til begyndelsen af når du klikker på ⚑ koden til din figur:

   sæt [score v] til [3]

  • I stedet for altid at lave en rækkefølge på 5 farver, så bruger du nu score variablen til at bestemme længden på rækkefølgen. Ændr din figurs gentag loop (til at lave rækkefølgen) til:

    gentag (score) gange
    end

  • Hvis rækkefølgen bliver gættet korrekt, bør du tilføje 1 til scoren for at forlænge længden af rækkefølgen.

    ændr [score v] med (1)

  • Til sidst skal du tilføje en for evigt loop rundt om koden, så der laves en ny rækkefølge (i rækkefølgen) for hvert niveau. Koden for din figur bør se således ud:

    når du klikker på ⚑ 
    sæt [score v] til [3]
    for evigt
    slet (alle v) fra [rækkefølge v] 
    gentag (score) gange
        tilføj (vælg tilfældigt mellem (1) og (4)) til [rækkefølge v] 
        skift kostume til (punkt (sidste v) på [rækkefølge v])
        vent (1) sekunder 
    end
    vent indtil <(længden af [rækkefølge v]) = [0]>
    send [vundet v] til alle og vent
    ændr [score v] med (1) 
    end

  • Få dine venner til at afprøve dit spil. Husk at skjule rækkefølge listen, før de begynder at spille!

Gem dit projekt

Trin 4: High score

Lad os gemme en high score, så du kan spille mod dine venner.

Arbejdsliste

  • Tilføj 2 nye variabler til dit projekt, som du kalder high score og navn.

  • Hver gang spillet slutter (ved tryk på den forkerte knap) skal du undersøge, om spillerens score er højere end den nuværende high score. Hvis den er det, skal du gemme scoren som en high score og opbevare spillerens navn. Din røde knap bør se således ud:

    når jeg modtager [rød v]
    hvis <(punkt (1 v) på [rækkefølge v]) = [1]> så
    slet (1 v) fra [rækkefølge v]
    ellers
    sig [Game over!] i (1) sekunder
    hvis <(score) > (high score)> så
        sæt [high score v] til (score)
        bed om [High score! Hvad er dit navn?] og vent
        sæt [navn v] til (svar)
    end
    stop [alle v]
    end

  • Du er også nødt til at tilføje denne nye kode til de 3 andre knapper! Har du lagt mærke til at ‘Game over’ koden i hver af de 4 knapper er præcis den samme?

screenshot

  • Hvis du nogensinde får brug for at ændre noget i denne kode, fx tilføje en lyd eller ændre ‘Game over!’ beskeden, så bliver du nødt til at ændre den 4 gange! Det kan godt være lidt irriterende og kan føles lidt som tiddspilde.

I stedet kan du definere dine egne brikker og genbruge dem i dit projekt! Her skal du klikke på Flere Brikker og dernæst ‘Skab en Brik’. Kald din nye brik ‘Game over’.

screenshot

  • Tilføj ellers kodeblokken fra den røde knap til den nye blok:

screenshot

  • Nu har du lavet en ny funktion der hedder Game over, som du kan bruge, hvor du ønsker. Slæb din Game over blok over på de 4 scripts for knapperne.

screenshot

  • Tilføj nu en lyd når der trykkes på den forkerte knap. Du kan nøjes med at tilføje denne kode én gang i Game over blokken, og ikke 4 forskellige gange!

screenshot

Udfordring: Lav flere brikker

Kan du få øje på anden kode, som er den samme for alle 4 knapper?

screenshot

Kan du lave endnu en brik, som bruges af hver knap?

Gem dit projekt

Udfordring: Et andet kostume

Har du lagt mærke til at dit spil begynder med, at din figur viser en af de 4 farver, og at den altid viser den sidste farve i rækkefølgen, imens spilleren gentager rækkefølgen?

Kan du tilføje et andet hvidt kostume til din figur, som vises i starten af dit spil, samt når spilleren prøver at kopiere rækkefølgen?

screenshot

Gem dit projekt

Udfordring: Sværhedsgrad

Kan du gøre det muligt for spilleren at vælge mellem ‘begynder-niveau’ (hvor kun den røde og den blå tromme bruges) og ‘normal’ (som bruger alle 4 trommer)?

Du kan ovenikøbet tilføje en ‘øvet’ version, som benytter en femte tromme!

Gem dit projekt