Kaart

De speler van Boswandeling loopt tijdens het spel over een kaart van het bos. Van elke locatie in het bos moeten drie gegevens opgeslagen worden. Om dit te programmeren, moeten jullie drie kaarten opslaan in het geheugen. Elke duogroep programmeert één van deze drie kaarten. De drie kaarten zijn:

Elke kaart moet opgeslagen worden in een globale variabele en voor elke kaart moet een functie komen die de kaart vult met de juiste gegevens.

De techniek voor het schrijven van de kaart is natuurlijk voor elke kaart hetzelfde. Overleg dus met andere duogroepen hoe zij de kaart programmeren.

Als alle bestanden klaar zijn, zet je ze in één zipbestand en dat zipbestand zet je in Leo.

Omschrijvingen

Voor de omschrijvingen op de kaart moet je twee functies schrijven:

De functie InitialiseerOmschrijvingen vult de kaart met de omschrijvingen. Deze functie moet voor de start van het spel één keer aangeroepen worden. De functie heeft geen return value en geen parameters. InitialiseerOmschrijvingen heeft het volgende prototype:

void InitialiseerOmschrijvingen();

De functie Omschrijving vraagt de omschrijving van een bepaalde locatie op. De functie krijgt de coördinaten van de locatie als parameters mee en geeft een string terug met de omschrijving. Omschrijving heeft het volgende prototype:

string Omschrijving(int x, int y);

Uiteindelijk moet je twee bestanden opleveren.

Je mag bij het programmeren van de functies ondersteunende functies schrijven. Zet deze functies in Omschrijvingen.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.

Spellen

Voor de spellen op de kaart moet je drie functies schrijven:

De functie InitialiseerSpellen vult de kaart met de namen van de spellen (alle namen in kleine letters). Deze functie moet voor de start van het spel één keer aangeroepen worden. De functie heeft geen return value en geen parameters. InitialiseerSpellen heeft het volgende prototype:

void InitialiseerSpellen();

De functie Spel vraagt de naam van een spel op een bepaalde locatie op. De functie krijgt de coördinaten van de locatie als paremeters mee en geeft een string terug met de naam van het spel. Als er geen spel op de opgegeven locatie gespeeld kan worden, geeft Spel een lege string terug. Spel heeft het volgende prototype:

string Spel(int x, int y);

De functie StartSpel start het opgegeven spel door de juiste functie aan te roepen. De functie krijgt de naam van het spel mee als parameter. De return value van StartSpel is true als de speler het opgegeven spel wint en false als de speler het opgegeven spel niet wint. Als StartSpel een lege string meekrijgt, doet de functie niets. De return value is dan altijd false. StartSpel heeft het volgende prototype:

bool StartSpel(string spel);

Uiteindelijk moet je twee bestanden opleveren:

Je mag bij het programmeren van de functies ondersteunende functies schrijven. Zet deze functies in Spellen.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.

Richtingen

Voor de richtingen op de kaart moet je twee functies schrijven:

De functie InitialiseerRichtingen vult de kaart met de richtingen. Deze functie moet voor de start van het spel één keer aangeroepen worden. De functie heeft geen return value. De richtingen die de speler op een bepaalde locatie op kan, zet je in een string. Bijvoorbeeld, als de speler op een bepaalde locatie alle kanten op kan, schrijf je naar die locatie "noord oost zuid west". Als hij niet naar het oosten kan, schrijf je "noord zuid west". InitialiseerRichtingen heeft het volgende prototype:

void InitialiseerRichtingen();

De functie Richting vraagt van een bepaalde locatie op of de speler daar in de opgegeven richting kan lopen. De functie krijgt de coördinaten van de locatie als parameters mee en hij krijgt de windrichting mee waarin de speler wil lopen. De windrichting wordt meegegeven als string, bijvoorbeeld "noord" of "oost". In de string die je in de kaart hebt opgeslagen, kun je zoeken of de opgegeven windrichting voorkomt. De return value van Richting is true als de speler in de opgegeven richting kan lopen en false als dat niet kan. Richting heeft het volgende prototype:

bool Richting(int x, int y, string windrichting);

Uiteindelijk moet je twee bestanden opleveren:

Je mag bij het programmeren van de functies ondersteunende functies schrijven. Zet deze functies in Richtingen.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.