Het langste woord

Eindopdracht voor het VWO

Het is de bedoeling dat je het spel “het langste woord” maakt. Als de speler het spel opstart, dan wordt hij/zij gevraagd naar zijn naam. Vervolgens wordt de speler welkom geheten. Het spel kan dan pas echt beginnen!

De speler krijgt zeven letters aangereikt. Drie daarvan zijn klinkers en vier daarvan zijn medeklinkers. De letters die de speler krijgt zijn willekeurig. De opdracht is nu om vijf keer een woord te maken van de letters die je hebt gekregen. Hoe langer het woord hoe meer punten je krijgt. Om preciezer te zijn: voor elke letter dat in het goede woord zit krijg je een punt. Je kunt via de functie bestaat_woord() checken of een opgegeven woord bestaat in het woordenboek. Als een opgegeven woord niet in het woordenboek bestaat of andere letters bevat dan de letters die je hebt gekregen, dan gaan er - afhankelijk van het aantal letters in het verkeerde woord - punten vanaf. Je mag vijf keer een poging doen. Het totaal aantal punten dat je behaalt is afhankelijk van de vijf pogingen die je hebt gedaan. Nadat de vijf pogingen zijn gedaan krijgt de speler de mogelijkheid om het spel opnieuw te spelen. Als de speler dan wilt, dan begint het opnieuw (hij hoeft dan niet weer zijn naam op te geven), zodra de speler dat niet wilt, dan mag een ander het spel spelen. Het programma vraagt dan hoe de nieuwe speler heet. Het spelverloop zou er als volgt uit kunnen zien (de dikgedrukte woorden zijn de dingen die de speler heeft moeten intypen):

 Hoe heet jij? Osman
 
 Welkom Osman! Maak vijf woorden van de volgende letters:
 
 a e i h j w q
 
 Woord 1: ja
 Goed! Je hebt nu 2 punten
 Woord 2: haai
 Goed! Je hebt nu 6 punten
 Woord 3: jaei
 Dit woord bestaat niet! Je hebt nu 2 punten
 Woord 4: boe
 Je hebt letters gebruikt die je niet mag gebruiken! Je hebt nu -1 punten
 Woord 5: wei
 Goed! Je hebt nu 2 punten!
 
 Het spel is afgelopen. De hoogste score tot nu toe is 12.
 
 Wil je het spel opnieuw spelen Osman? (kies j of n) n
 
 Fijne dag Osman!

Beoordeling

Je kunt het spel op verschillende niveau’s programmeren.

Niveau 1:

  • aan het begin van het spel mag de speler zijn naam invoeren en tijdens het spel wordt deze naam gebruikt

  • de speler krijgt zeven willekeurige letters waarvan drie klinkers

  • de speler mag vijf woorden invoeren

  • de hoogste score wordt bijgehouden (in een variabele)

  • de score van de speler wordt goed bijgehouden

  • de woorden die de speler invoert worden goed gecontroleerd

  • het aantal punten per woord wordt goed berekend

  • de speler kan het spel opnieuw starten

Niveau 2:

  • je kunt aan het begin van het spel kiezen uit verschillende woordenlijsten. Engels, Frans of Nederlands;

Niveau 3

  • er wordt een highscore bijgehouden in een apart bestand/database

  • vrije invulling. Je mag het spel zo mooi maken als je wilt. Overleg wel even met mij (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?

Hoe begin je?

Voor deze opdracht krijg je wat begincode. Zie: https://repl.it/@hakkas/FluffyFrugalIde

Last updated