Indholdsfortegnelse
Opgave: Lav et Hangman spil
Beskrivelse
Du skal designe og programmere en digital udgave af spillet Hangman i Processing.
Spillet skal vælge et ord, som spilleren skal gætte, ét bogstav ad gangen.
For hver forkerte gæt skal en del af galgen/figuren tegnes, indtil spillet er vundet eller tabt.
Formålet med opgaven er, at du skal bruge arrays til at holde styr på data (bogstaver, gæt osv.), og strukturerer din kode i funktioner/metoder, så programmet bliver overskueligt og fleksibelt.
🎓 Læringsmål
Efter denne opgave skal du kunne:
- Brug af arrays
- Gemme og arbejde med flere værdier i et array (f.eks. bogstaver i ordet og forkerte gæt).
- Planlægning og datastrukturering
- Udvikle en strategi for, hvordan data (ord, gæt, visning) skal organiseres.
- Metoder i Processing
- Dele koden op i funktioner/metoder, der har tydelige ansvarsområder (f.eks. tegne hangman, vise ordet, håndtere input).
- Grafisk programmering
- Bruge Processing til at vise spillets status og feedback til spilleren.
Krav til spillet
Programmet skal indeholde et ord, der skal gættes.
- Du kan selv vælge ordet eller gemme flere mulige ord i et array og vælge ét tilfældigt.
- Spilleren skal kunne indtaste et bogstav (f.eks. med `keyPressed()`).
- Programmet skal kunne:
- Tjekke, om bogstavet findes i ordet.
- Opdatere visningen (vise de korrekte bogstaver og streger for resten).
- Gem forkert gæt i et array.
- Tegne galgen/hangman alt efter hvor mange fejl spilleren har lavet.
- Spillet skal kunne afgøre, om spilleren har vundet eller tabt.
Struktur og hints
Tænk over, hvordan du organiserer din kode. Her er nogle idéer og hints – men du skal selv finde din egen løsning:
- Repræsentation af ordet:
- Brug et `char[]` array eller et `String`, som du konverterer til et array med `toCharArray()`.
- Brug et andet array (f.eks. et `boolean[]`) til at holde styr på, hvilke bogstaver der er gættet.
- Forkerte gæt:
- Brug et `char[]` til at gemme forkerte bogstaver. Du kan holde styr på, hvor mange fejl der er lavet, med en tæller-variabel.
- Grafik:
- Lav en metode, fx `void drawHangman(int fejl)` som tegner galgen og figuren afhængigt af antallet af forkerte gæt.
- Vis ordet:
- Lav en metode, fx `void drawWord()`, der viser de bogstaver, spilleren har gættet, og understreger de manglende.
- Input:
- Brug `void keyPressed()` til at registrere, hvilket bogstav brugeren gætter.
- Kontrol af spilstatus:
- Lav evt. en metode, fx `boolean isWordGuessed()`, som tjekker, om alle bogstaver er gættet.
Hint: Template med metode-struktur
Hint: Konverting mellem String og array
⚡ Ekstra udfordringer (valgfrit)
Hvis du bliver hurtigt færdig, kan du udvide spillet med fx:
- En liste af ord, hvor programmet vælger ét tilfældigt.
- Mulighed for at starte en ny runde, når spillet er slut.
- Et simpelt pointsystem.
