Letterspellen

Met behulp van de letterfuncties die jullie geschreven hebben, gaan jullie nu de letterspellen schrijven. Er zijn drie letterspellen en iedere duogroep neemt één spel voor zijn rekening. Bij elk letterspel hoort een letterfunctie. Het is niet toegestaan om het letterspel te schrijven dat hoort bij de letterfunctie die je hebt geschreven. Je moet dus gebruik maken van een letterfunctie die door iemand anders is geschreven.

Boswandeling bevat de volgende drie letterspellen:

Iedere duogroep levert twee bestanden: een bronbestand en een headerbestand. Als alle bestanden af zijn, moeten jullie gezamenlijk één headerbestand maken voor alle drie de functies. Noem het bestand Letterspellen.h.

Maak een bestand Main.cpp aan met daarin de code die hieronder staat. Deze code stelt je in staat om de spellen te testen. Je mag onderstaande code niet wijzigen.

#include <iostream>
#include "Console.h"
#include "Letterspellen.h"

using namespace std;

/**
 * Het programma start hier
 *
 * @return	altijd 0
 */
int main()
{
	char myKeuze;

	do
	{
		ClearScreen();

		// vraag welk spel gestart moet worden
		cout << "Welk spel wil je starten?\n";
		cout << "1. Alfabet\n";
		cout << "2. Geheimschrift\n";
		cout << "3. Klinkers\n";
		cout << "(Iedere andere toets stopt het"
		cout << " programma.)\n";

		// lees toets
		myKeuze = GetKey();

		if (myKeuze == '1')
		{
			// start Alfabet
			Alfabet();
		}

		if (myKeuze == '2')
		{
			// start Geheimschrift
			Geheimschrift();
		}

		if (myKeuze == '3')
		{
			// start Klinkers
			Klinkers();
		}
	} while ((myKeuze > '0') && (myKeuze < '4'));

	return 0;
}

Als alle bestanden klaar zijn, zet je ze in één zipbestand en dat zipbestand zet je in Leo. Neem ook de bestanden van de getalfuncties op in het zipbestand.

Alfabet

Het spel Alfabet draait om een bord waarop een aantal woorden staat. De speler moet deze woorden in alfabetische volgorde zetten. Controleer of de oplossing van de gebruiker juist is met behulp van de functie Alfabetisch. De speler moet op elk moment kunnen besluiten om het spel niet verder te spelen.

De volgende woorden staan op het bord: koelbloedig, aanvullen, onlangs, president, afgunst, bedroefd, rubriek, onaangenaam, winstgevend, geregeld, supplement.

Je bent vrij om te bepalen hoe de speler tijdens het spel Alfabet de woorden kan rangschikken. Je moet er wel voor zorgen dat de speler geen ongeldige invoer kan geven. Dus de speler mag bijvoorbeeld geen woorden weglaten of toevoegen. Je kunt gebruik maken van de Console API (zie website) om het scherm te tekenen en om invoer van de gebruiker te lezen.

Schrijf een functie Alfabet met daarin de code voor het spel. Deze functie wordt straks aangeroepen als het spel gestart moet worden. De functie moet true teruggeven als de speler het spel gewonnen heeft en anders false. Het prototype van de functie Alfabet is:

bool Alfabet();

Uiteindelijk moet je twee bestanden opleveren.

Je mag bij het programmeren van het spel ondersteunende functies schrijven. Zet deze functies in Alfabet.cpp. Je hoeft ze niet op te nemen in het headerbestand omdat ze van buitenaf niet aangeroepen hoeven worden. Houd je bij het programmeren aan de algemene stijlregels.

Zet de twee bestanden in één zipbestand voordat je ze in Leo zet.

Geheimschrift

Tijdens het spel Geheimschrift helpt de speler een leeuw om een brief van zijn geliefde te ontcijferen. In deze brief zijn alle letters vervangen door de volgende letter in het alfabet. De speler moet het bericht omzetten naar de juiste tekst. Controleer met behulp van de functie Ontcijfer of de speler de tekst goed heeft ingevoerd.

De tekst die de speler moet ontcijferen is de volgende: Njko mjfgtuf. Wbefs iffgu ffo nfutfmbbs hfwsbbhe pn ifu hbu jo ef nvvs uf ejdiufo. Jo ifu wfswpmh avmmfo xf fmlbbs evt folfm oph lvoofo pounpfufo cjk Ojovt. Kf hfmjfgef mffvxjo. Q.T.: Ifc kjk njko tmvjfs fshfot hfajfo?

Je bent vrij om te bepalen hoe de speler tijdens het spel Geheimschrift de ontcijferde tekst opgeeft, maar de invoer van de gebruiker moet wel geldig zijn. Denk er ook aan dat er spaties in de tekst voorkomen. Je kunt gebruik maken van de Console API (zie website) om het scherm te tekenen en om invoer van de gebruiker te lezen.

Schrijf een functie Geheimschrift met daarin de code voor het spel. Deze functie wordt straks aangeroepen als het spel gestart moet worden. De functie moet true teruggeven als de speler het spel gewonnen heeft en anders false. Het prototype van de functie Geheimschrift is:

bool Geheimschrift();

Uiteindelijk moet je twee bestanden opleveren.

Je mag bij het programmeren van het spel ondersteunende functies schrijven. Zet deze functies in Geheimschrift.cpp. Je hoeft ze niet op te nemen in het headerbestand omdat ze van buitenaf niet aangeroepen hoeven worden. Houd je bij het programmeren aan de algemene stijlregels.

Zet de twee bestanden in één zipbestand voordat je ze in Leo zet.

Klinkers

Bij het spel Klinkers moet de speler alle klinkers uit een aantal woorden halen. Maak gebruik van de functie VerwijderdeKlinkers om te controleren of de speler dit op de juiste manier heeft gedaan. De speler moet de klinkers verwijderen uit de volgende woorden: ijscoman, evenaren, langzaam, breeduit, overloop, platinum, politiek.

Je bent vrij om te bepalen hoe de speler tijdens het spel Klinkers de oplossingen opgeeft, maar de invoer van de gebruiker moet wel geldig zijn. Het programma mag dus geen rare dingen gaan doen als de gebruiker ongeldige invoer levert. Houd er ook rekening mee dat de functie VerwijderdeKlinkers geen garanties levert als het gaat om hoofdletters en kleine letters. Je kunt gebruik maken van de Console API (zie website) om het scherm te tekenen en om invoer van de gebruiker te lezen.

Schrijf een functie Klinkers met daarin de code voor het spel. Deze functie wordt straks aangeroepen als het spel gestart moet worden. De functie moet true teruggeven als de speler het spel gewonnen heeft en anders false. Het prototype van de functie Klinkers is:

bool Klinkers();

Uiteindelijk moet je twee bestanden opleveren.

Je mag bij het programmeren van het spel ondersteunende functies schrijven. Zet deze functies in Klinkers.cpp. Je hoeft ze niet op te nemen in het headerbestand omdat ze van buitenaf niet aangeroepen hoeven worden. Houd je bij het programmeren aan de algemene stijlregels.

Zet de twee bestanden in één zipbestand voordat je ze in Leo zet.