I forbindelse med ord gætterspil som Hangman, "Hangman -algoritmen" (skønt det ikke er en strengt defineret algoritme på samme måde som, for eksempel, henviser en sorteringsalgoritme) til den logik og procedurer, der bruges til:
1. administrere spiltilstanden:
* opbevares det hemmelige ord: Dette er ordet, som spilleren prøver at gætte.
* Spor korrekt gættede breve: Det opretholder en fortegnelse over breve, som spilleren har gættet korrekt og viser dem i deres korrekte positioner inden for ordet. For eksempel, hvis ordet er "æble", og spilleren gætter 'p' og 'e', kan det viste ord være "_ p p _ e".
* Spor forkert gættede breve: Opbevarer en liste over breve, som spilleren har gættet, at det er * ikke * i ordet. Denne liste vises ofte for at forhindre spilleren i at gætte det samme forkerte brev gentagne gange.
* Spor antallet af forkerte gæt: Dette er afgørende for at bestemme, hvornår spilleren taber. Hver forkert gæt resulterer typisk i at tegne en anden del af figuren "Hangman".
* Bestem vinder/tabsbetingelser: Algoritmen kontrollerer, om alle bogstaver i ordet er gættet korrekt (WIN), eller om spilleren har overskredet det maksimale antal tilladte forkerte gæt (tab).
2. Processpillerindgang:
* Valider gættet: Sikrer, at spilleren indtaster et enkelt bogstav (eller nogle gange hele ordet, afhængigt af spillets regler).
* Kontroller, om brevet allerede er gættet: Forhindrer spilleren i at spilde gæt på breve, de allerede har prøvet.
* Bestem, om brevet er i ordet: Sammenligner det gættede brev med det hemmelige ord.
* Opdater spiltilstanden: Hvis brevet er korrekt, opdaterer det det viste ord med bogstavet i dets korrekte position (er). Hvis det er forkert, tilføjer det brevet til listen over forkerte gæt og trin den forkerte gættæller.
3. Giv feedback til spilleren:
* Vis det delvist afslørede ord: Viser spilleren deres fremskridt.
* Vis listen over forkerte gæt: Hjælper spilleren med at undgå at gentage fejl.
* Giv beskeder om korrekte eller forkerte gæt: "Ja, der er en 'a' i ordet!" eller "undskyld, der er ingen 'z' i ordet."
* Vis hangman -figuren: Visuelt repræsenterer antallet af forkerte gæt, der er tilbage.
* annoncerer win/tab og afslør ordet: Når spillet er forbi.
eksempel (forenklet pseudocode):
`` `
Secretword ="Eksempel"
Gættetletters =[]
ForkerteGuesses =0
MaxincorrectGuesses =6
funktion displayword ():
resultat =""
For hvert bogstav i Secretword:
Hvis brev i gættetterne:
Resultat =resultat + brev
andet:
Resultat =resultat + "_"
Returresultat
funktion checkguess (gæt):
Hvis gæt i gættetterne:
Returner "Du gættede allerede det brev!"
Gættetters.append (gæt)
Hvis gæt i Secretword:
returner "korrekt!"
andet:
Forkert Guesses =ForkerteGuesses + 1
returner "forkert!"
Mens forkerteGuesses
print (displayword ())
Udskriv ("Forkerte gæt:" + ForkerteGuesses)
gæt =getPlayerguess () // få input fra spilleren
Resultat =checkGuess (gæt)
Udskriv (resultat)
Hvis "_" ikke i displayword ():
Print ("Du vinder! Ordet var" + Secretword)
andet:
Print ("Du taber! Ordet var" + Secretword)
`` `
Sammenfattende omfatter "hangman -algoritmen" alle regler og logik, der definerer, hvordan hangman -spillet spilles, herunder styring af spiltilstanden, behandling af spillerinput, tilvejebringelse af feedback og bestemmelse af resultatet. Det er ikke en eneste, specifik algoritme i datalogi -forstand, men snarere en kombination af procedurer og logik.