Wordmind

Eindopdracht voor het VWO

Het is de bedoeling dat je het spel Wordmind maakt. Wordmind is een woordspelletje wat veel weg heeft van het welbekende spel Lingo. De essentie van het spel is als het volgt: De speler van het spel moet een woord raden. Afhankelijk van de invoer van de gebruiker geeft het programma aan in hoeverre het woord goed is geraden. Het spel blijft de speler vragen om het woord te raden totdat de speler het goede woord raadt of totdat de speler aangeeft dat hij wil stoppen met het spel. Een verloop van het programma zou er als volgt uit kunnen zien (we gaan ervan uit dat het geheime woord brommer is:

 The secret word: .......
 Guess the word : fietsen
 
 The secret word: -----e-
 Guess the word : branden
 
 The secret word: br---en
 Guess the word : boomtor
 
 The secret word: b-om-—r
 Guess the word : brommer
 
 Word "brommer" found!
 Another game (Y/N)?
 
 Your average is 5.00
 Press any key to return to the menu ...

Het spel moet aan de volgende eisen voldoen:

  • Als je een woord raadt en een letter komt qua positie exact overeen met het geheime woord, dan laat je dat voor de volgende keer zien. Voorbeeld: (stel je voor dat het geheime woord henk is, en de speler raadt het volgende: kaak. Dan gebeurt het volgende:

 The secret word: ----
 Guess the word: kaak
 The secret word: ---k
 Guess the word: 
  • Als de speler een woord raadt, en een letter komt wel voor in het woord, maar niet op de juiste plek. Dan moet deze letter aangegeven worden met een ?. Voorbeeld: (Dus stel je voor dat het geheime woord henk is, en de speler raadt nico. Dan gebeurt het volgende:

 The secret word: ----
 Guess the word: nico
 The secret word: ?---
 Guess the word: 
  • Als de speler het goede woord raadt, dan geeft het programma aan met hoeveel keer het goede woord is geraden. Zie ook het voorbeeld aan het begin van dit document.

Extra opdrachten

Extra opdrachten voor leerlingen die extra uitdaging op prijs stellen:

  • Voeg een puntentellingssysteem aan het spel. Hoe sneller je het woord raadt, hoe hoger je score! (TIP: gebruik hier import time voor). Voeg ook een highscorelist toe aan het spel.

  • Op het scherm verschijnen evenveel streepjes als dat er letters in het woord zijn. De gebruiker typt een letter. Als de letter voorkomt, verschijnt deze op de stippen waar het voorkomt;

  • Het programma moet het bestand <woordenlijst> in kunnen lezen om daar willekeurig een woord uit te kiezen. Dit ‘geheime’ woord moet dan worden geraden;

  • In het programma moet het mogelijk zijn om deze woordenlijst aan te passen; d.w.z.: je moet woorden kunnen toevoegen aan de woordenlijst;

  • Zet de woorden in een database zoals SQLite. Zie hiervoor: http://zetcode.com/db/sqlitepythontutorial/

  • Met python kun je ook een spel met een echte gebruikersinterface maken. Een GUI dus. Maak Wordmind met een echte GUI. Zie hiervoor: http://www.techrepublic.com/article/a-quickstart-to-building-gui-based-applications-in-python/6310615

  • Vrije invulling. Bespreek je voorstel even met je docent.

Beoordelingscriteria

  • In hoeverre zijn alle eisen in het spel aanwezig?

  • Goed gebruik van loops

  • Goed gebruik van if-elif-else constructies

  • Goed gebruik van variabelen en variabelenamen

  • Goed gebruik van functies? Maak je zelf ook functies waardoor de code wat georganiseerder en overzichtelijker wordt? Hoe noem je die functies?

  • Zet je genoeg commentaar in je code, zodat de code overzichtelijk is voor anderen?

  • Begrijp je het ook? Ik ga je vragen, voordat ik het cijfer geef, of je wilt uitleggen hoe het precies werkt, en welk onderdeel van het programma welke gevolgen heeft.

  • Er wordt niet alleen gekeken of het werkt, maar ook hoe je hebt geprogrammeerd. Bondig programmeren, als iets in twee regels kan en je hebt het in tien regels gedaan dan werkt dat niet in je voordeel.

  • Hoe ziet het er uit?

Last updated