Deel 1: Pokémon manager

Een open opdracht, zonder oplossing.

Kan je alle kennis van dit semester gebruiken om een volwaardige Pokémon-manager te maken? Stel je voor dat je een programma schrijft waarmee gebruikers bijhouden welke Pokémon ze al hebben. Je array is een soort verzamelmap waarin je alle Pokémon zet die je vindt.

De gebruiker krijgt een menu waarin hij kan kiezen om:

  • Een nieuwe Pokémon aan zijn map toe te voegen. Je toont daarvoor een lijst van geldige Pokémon. De gebruiker kiest het nummer dat hij wil toevoegen, en die Pokémon komt in de map.
  • Op te lijsten welke Pokémon er al in de map zitten.
  • Een bepaalde verzamelde Pokémon uit de map te verwijderen.
  • De statistieken van een bepaalde verzamelde Pokémon te tonen.
  • Het level van een bepaalde verzamelde Pokémon te verhogen.

Een eigen klasse Pokemon met een naam, een level en een paar statistieken heb je daarvoor zeker nodig. Je kan vertrekken van de klasse Pokemon uit de oefeningen van hoofdstuk 10 en 11.

Deel 2: Manager klasse

Zet alle logica uit deel 1 in een nieuwe klasse PokeManager. Zet je array met Pokémon als static array in deze klasse. Deze klasse krijgt bijna enkel static methoden, zoals:

  • ToonMenu
  • DeletePokemon(int index)
  • AddPokemon(Pokemon toAdd)
  • ShowCollection()
  • ShowStats(int index)
  • LevelUp(int index, int amountLevel)

Het idee is dat er in je hoofdprogramma heel weinig code overblijft, maar wel heel duidelijke code. In de trant van:

int keuze = 0;
while (keuze != 6)
{
    keuze = PokeManager.ToonMenu();
    switch (keuze)
    {
        case 1:
            PokeManager.ShowCollection();
            break;
        //enzovoort
    }
}

Hier geeft ToonMenu de keuze van de gebruiker terug, en is 6 de keuze om te stoppen.

(PRO) Deel 3: csv-bestanden verwerken

Voor dit deel heb je bestanden nodig, uit hoofdstuk 18.

Zorg ervoor dat:

  • Je bij het toevoegen van een nieuwe Pokémon alle mogelijke Pokémon toont door ze uit een csv-bestand te lezen, inclusief hun basisstatistieken. Je kan dat bestand hier downloaden.
  • Je je verzamelmap naar een csv-bestand (mypoke.csv) kan schrijven en weer inlezen. Je hoeft enkel het id en het huidige level weg te schrijven. Daarna zoek je met dat id de Pokémon op in de lijst van alle bestaande Pokémon.