Extra Galgje

In deze challenges ga je het galgje spel maken in PHP CLI. Zorg dat je commentaar opneemt in je script om je voortgang te laten zien.

Nieuwe versie insturen

Challenge 1 (na opeenvolging)

Zorg dat je een script maakt die het volgende kan doen:

  • Vraag het woord voor het spel
  • Vraag de letter voor het spel

Zorg dat de invoer wordt omgezet naar alleen kleine letters.

Het woord blijft op deze wijze in het beeld staan. Dat is natuurlijk niet handig. Maar dat laten we eerst maar even. Zodra ik een goede oplossing heb zal ik die hier plaatsen.

Challenge 2 (na herhaling)

Zorg dat het script oneindig vaak om een letter vraagt. Let op dat je het woord maar één keer invult.

Challenge 3 (na herhaling)

Toon het woord als (aantal underscores afhankelijk van aantal tekens woord).
Zorg dat je dat in de loop dat zodat dit elke keer wordt getoond als er een nieuwe letter wordt gevraagd.

Gebruik de for loop en maak gebruik van strlen() functie.

Challenge 4 (verbreding -> arrays)

Een array is een lijst met waarden. Kun jij een array maken waarin je alle ingevoerde letters bewaard?

Challenge 5 (verdieping en verbreding -> arrays)

Kan je challenge 3 nu verbeteren? De uitdaging is dat je nu laat zien welke letters al zijn geraden.

Tip 1 Wist je dat je een string ook als array kan benaderen. Dus dat de eerste letter in een string te vinden is met $woord[0]? Tip 2 gebruik de functie in_array().

Challenge 6 (na herhaling)

Je hebt een oneindige loop gemaakt. Hoe zorg je dat deze stopt als het woord is geraden?

Challenge 7 (extra functionaliteit)

Zorg dat je maximaal 13 keer een verkeerde letter kan raden.

Challenge 8 (usabilty)

Zorg dat het voor de gebruiker de weergegeven info compleet is en toegankelijk.

Challenge 9 (valideren)

Het mooiste is dat je de invoer kan valideren

  • invoer woord alleen 1 woord en alleen de letters a-z.
  • invoer letter alleen de letters a-z (of A-Z die je vervolgens wijzigt naar kleine letters).
  • invoer letters alleen goedkeuren als de letter niet al eerder is ingegeven (dubbele invoer van zelfde letter voorkomen).
Challenge 10 (vormgeving)

Een plaatje van een galg die langzaam steeds completer wordt is mooier.

Samenvatting (cheat sheet) Recursieve functies (extra)