🕹️ MakeCode Arcade – Del 1

Kom i gang med programmering gennem små skridt og et rigtigt spil

🎯 Hvad skal vi lære?

Vi lærer MakeCode Arcade ved at bygge et lille spil. Undervejs opdager vi de vigtigste byggesten i programmering: rækkefølge, sprites, input, events, variable, betingelser, gentagelser og tilfældighed.

Målet: Du skal ikke bare kunne følge en opskrift. Du skal efter hvert trin kunne forklare, hvad programmet nu kan, og hvorfor det sker.

Arbejdsmåde: Byg lidt → kør spillet → ændr noget → kør igen.

1. Åbn Arcade

Åbn MakeCode Arcade og vælg New Project.

Du kan arbejde med blokke nu. Senere kan det samme projekt ses som JavaScript.

Husk: Kun blokke, der faktisk er forbundet med programmet, bliver kørt. Det er en vigtig idé, når vi bygger med blokke.

2. Dit første program

Find Scene → set background color og sæt den ind i on start.

Kør spillet. Du har nu allerede lavet et program, der gør noget, når spillet starter.

🔎 Hvad betyder on start?

on start er en container. Koden inde i den køres, når programmet starter. I JavaScript svarer idéen til, at de første instruktioner udføres, når spillet begynder.

3. Lav en spiller

Find Sprites → set mySprite to sprite ... of kind Player og sæt den ind i on start.

Klik på det tomme billede og tegn din egen spiller.

Du har nu mødt en af de vigtigste idéer i Arcade:

Sprite

Et objekt på skærmen, som kan have en position, bevægelse, billede osv.

Variabel

mySprite er navnet, vi bruger til at referere til spilleren.

Kind

Player fortæller, hvilken slags sprite det er.

Arcade bruger sprites som centrale spilobjekter, og sprites kan bl.a. flyttes, kollidere og reagere på events.

4. Lad spilleren bevæge sig

Find Controller → move mySprite with buttons.

Sæt den ind efter oprettelsen af spilleren.

Prøv spillet med piletasterne. Du har nu et inputsystem.

Tænk: Programmet spørger ikke bare én gang, om du trykker på en tast. Spillet kører hele tiden, og controlleren påvirker spillets tilstand.

5. Gør spillet interessant: en ting at samle

Lav en ny sprite, fx en pizza, mønt eller stjerne. Giv den kind Food.

Placér den et sted på skærmen.

💡 Hvorfor en anden kind?

Fordi spillet senere kan skelne mellem fx Player, Food og Enemy. Det gør det muligt at sige: “Når en spiller rammer mad, skal der ske dette.”

6. Reagér på en kollision

Find en on sprite of kind Player overlaps otherSprite of kind Food-event.

Inde i eventet kan du fx få maden til at forsvinde med destroy otherSprite.

Kør spillet: Når spilleren rammer maden, sker der noget.

Vigtigt programmeringsbegreb: Dette er et event. Du beskriver ikke bare en rækkefølge af instruktioner. Du beskriver også, hvad programmet skal gøre, når noget bestemt sker.

7. Giv spilleren point

Find Info → change score by 1 og læg den ind i overlap-eventet.

Nu har vi:

NÅR Player overlapper Food
    fjern Food
    giv 1 point

Det er en lille, men komplet spilmekanik.

8. Brug tilfældighed

I stedet for at placere maden samme sted hver gang, kan du bruge Math → pick random til at vælge en position.

Prøv fx at sætte madens x- og y-position til tilfældige værdier.

Hvorfor er tilfældighed nyttig? Den gør, at spillet ikke følger præcis samme forløb hver gang. Det er en af de ting, der får et lille program til at føles som et spil.

9. En fjende

Lav en ny sprite med kind Enemy.

Giv den en bevægelse. Du kan fx ændre dens x- eller y-hastighed eller bruge en funktion, der flytter en sprite.

Lav derefter et overlap-event mellem Player og Enemy.

Beslut selv, hvad der skal ske:

10. Variable: husk noget

En variabel er et navn, som bruges til at gemme en værdi.

Lav fx variablen speed og giv den værdien 50.

Brug derefter variablen til at bestemme, hvor hurtigt en fjende bevæger sig.

speed = 50

fjendens hastighed = speed

Prøv derefter at ændre speed. Du har nu ændret én værdi og dermed flere steder i spillets opførsel.

11. Betingelser: hvis noget er tilfældet

Brug Logic → if ... then.

HVIS score >= 10
    vind spillet

Her møder du en af programmeringens vigtigste strukturer: programmet kan træffe en beslutning ud fra en betingelse.

12. Gentagelser: lad spillet gøre noget igen og igen

Prøv en forever-blok eller en on update interval-event.

Fx kan du få en fjende til at dukke op med mellemrum.

HVER 2. SEKUND
    lav en ny fjende
    placér den tilfældigt
Pas på: En blok, der kører meget ofte, kan hurtigt skabe hundredevis af sprites. Tænk derfor over, hvor ofte noget skal ske.

🏁 Mini-projekt: gør spillet til dit eget

Du har nu byggesten nok til at lave et lille selvstændigt spil.

Minimumskrav

  • En spiller
  • Mindst én fjende eller forhindring
  • En ting, der kan samles
  • Score eller liv
  • Mindst ét event
  • Mindst én variabel, du selv har oprettet
  • Mindst én betingelse

Ekstra udfordringer

  • Tilfældige placeringer
  • Flere fjender
  • Stigende sværhedsgrad
  • Nedtælling
  • Animation
  • Lyd og musik
  • Tilemap og baner

🔚 Kan du forklare det?

Næste gang: Brug Del 2 – Hurtig reference, når du ved, hvad du vil lave, men ikke lige kan huske, hvordan det bygges.