public void Menu(Speler speler1, Speler speler2) { eindeMenu.Menu(); optie = eindeMenu.optie; switch (optie) { case 1: //Start nog een spel met dezelfde spelers speler1.beurten = 0; speler2.beurten = 0; SpelController spelController = new SpelController(); Speelveld speelveld = new Speelveld(); spelController.ClearSpeelVeld(speelveld); spelController.Start(speler1, speler2, speelveld); break; case 2: //Start nog een spel met nieuwe spelers NieuwSpelMenuController nieuwSpelMenuController = new NieuwSpelMenuController(); nieuwSpelMenuController.Start(); break; case 3: //Ga terug naar het hoofdmenu HoofdMenuController hoofdMenuController = new HoofdMenuController(); hoofdMenuController.Start(); break; } }
//Verwerkt de invoer van de speler die aan de beurt is private void VerwerkInvoer(int invoer) { //System.Console.WriteLine("VerwerkInvoer"); if (invoer == 0) { //Terug naar het hoofdmenu HoofdMenuController hoofdMenuController = new HoofdMenuController(); hoofdMenuController.Start(); } else if (invoer == 8) { //Spel opslaan Game game = new Game(speler1, speler2, speelveld); SaveGame.SaveAGame(game); System.Console.WriteLine("Spel opgeslagen."); } else { invoer--; //Haalt 1 van de invoer af, zodat de invoer overeenkomt met de index van de array char[,] speelveldArray = speelveld.GetSpeelveld(); //Haalt de huidige staat van het speelveld op if (speelveld.beurt == Speelveld.Beurt.SPELER1) { //Zet het juiste symbool voor de speler die aan de beurt is speler1.beurten += 1; spelerChar = 'O'; } else { speler2.beurten += 1; spelerChar = 'X'; } //Verander het bovenste vrije vlak in de kolom met het symbool van de speler die aan de beurt is for (int i = 5; i >= 0; i--) { if (speelveldArray[i, invoer] == '-') { speelveldArray[i, invoer] = spelerChar; laatsteIndexI = i; laatsteIndexY = invoer; break; } } } }