In de context van woordraadspelletjes zoals Hangman verwijst het 'galgje-algoritme' (hoewel het niet een strikt gedefinieerd algoritme is op dezelfde manier als bijvoorbeeld een sorteeralgoritme) naar de logica en procedures die worden gebruikt om:
1. Beheer de spelstatus:
* Sla het geheime woord op: Dit is het woord dat de speler probeert te raden.
* Volg correct geraden letters: Het houdt een register bij van de letters die de speler correct heeft geraden en geeft deze op de juiste positie binnen het woord weer. Als het woord bijvoorbeeld "APPLE" is en de speler 'P' en 'E' raadt, kan het weergegeven woord '_ P P _ E' zijn.
* Onjuist geraden letters bijhouden: Houdt een lijst bij van letters die de speler heeft geraden en die *niet* in het woord voorkomen. Deze lijst wordt vaak weergegeven om te voorkomen dat de speler herhaaldelijk dezelfde verkeerde letter raadt.
* Houd het aantal onjuiste gissingen bij: Dit is cruciaal om te bepalen wanneer de speler verliest. Elke verkeerde gok resulteert doorgaans in het tekenen van een ander deel van de "beul" -figuur.
* Bepaal de winst-/verliesvoorwaarden: Het algoritme controleert of alle letters van het woord correct zijn geraden (winnen) of dat de speler het maximaal aantal toegestane onjuiste gissingen heeft overschreden (verlies).
2. Invoer van speler verwerken:
* Valideer de gok: Zorgt ervoor dat de speler een enkele letter invoert (of soms het hele woord, afhankelijk van de spelregels).
* Controleer of de letter al geraden is: Voorkomt dat de speler gissingen verspilt aan letters die hij al heeft geprobeerd.
* Bepaal of de letter in het woord staat: Vergelijkt de geraden letter met het geheime woord.
* De spelstatus bijwerken: Als de letter correct is, wordt het weergegeven woord bijgewerkt met de letter op de juiste positie(s). Indien onjuist, wordt de letter toegevoegd aan de lijst met onjuiste gissingen en wordt de teller voor onjuiste gissingen verhoogd.
3. Geef feedback aan de speler:
* Toon het gedeeltelijk onthulde woord: Toont de speler zijn voortgang.
* Toon de lijst met onjuiste gissingen: Helpt de speler herhaling van fouten te voorkomen.
* Geef berichten over correcte of onjuiste gissingen: "Ja, er zit een 'A' in het woord!" of "Sorry, er zit geen 'Z' in het woord."
* Toon het beulfiguur: Geeft visueel het aantal resterende onjuiste gissingen weer.
* Maak winst/verlies bekend en onthul het woord: Als het spel voorbij is.
Voorbeeld (vereenvoudigde pseudocode):
```
GeheimWoord ="VOORBEELD"
GeradenLetters =[]
Onjuiste gissingen =0
MaxOnjuiste Gissingen =6
functie DisplayWord():
resultaat =""
voor elke letter in SecretWord:
als letter in GuessedLetters:
resultaat =resultaat + letter
anders:
resultaat =resultaat + "_"
resultaat terug
functie CheckGuess(gok):
als je raadt in GuessedLetters:
return "Je raadt die letter al!"
GuessedLetters.append(gis)
als je raadt in SecretWord:
retourneer "Correct!"
anders:
Onjuiste gissingen =Onjuiste gissingen + 1
retourneer "Onjuist!"
terwijl IncorrectGuesses
afdrukken(DisplayWord())
print("Onjuiste gissingen:" + Onjuiste gissingen)
raden =GetPlayerGuess() // Ontvang input van de speler
resultaat =CheckGuess(schatting)
afdrukken(resultaat)
als "_" niet in DisplayWord():
print("Jij wint! Het woord was " + SecretWord)
anders:
print("Je verliest! Het woord was " + SecretWord)
```
Samenvattend omvat het 'galgje-algoritme' alle regels en logica die bepalen hoe het Galgje-spel wordt gespeeld, inclusief het beheren van de spelstatus, het verwerken van spelersinvoer, het geven van feedback en het bepalen van de uitkomst. Het is niet één specifiek algoritme in de zin van de computerwetenschap, maar eerder een combinatie van procedures en logica. |