/// <summary> /// Metoda spusti hru pro dva hrace /// </summary> static public void NovaHraProDvaHrace() { Hrac.index = 0; bool kontrolaJmena1 = true; bool kontrolaJmena2 = true; string vstup1 = "Zadejte jméno 1.hráče: "; string vstup2 = "Zadejte jméno 2.hráče: "; while (kontrolaJmena1) //Ziskani jmena 1.hrace { Console.Clear(); Console.SetCursorPosition(1, 3); Console.Write(vstup1); jmenoHrace1 = Console.ReadLine(); if (jmenoHrace1.Length < 10) { kontrolaJmena1 = false; } else { Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan); } } while (kontrolaJmena2) //Ziskani jmena 2.hrace { Console.Clear(); Console.SetCursorPosition(1, 3); Console.Write(vstup2); jmenoHrace2 = Console.ReadLine(); if (jmenoHrace2.Length < 10) { kontrolaJmena2 = false; } else { Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan); } } Hrac hrac1 = new Hrac(jmenoHrace1, ConsoleColor.DarkGreen); Hrac hrac2 = new Hrac(jmenoHrace2, ConsoleColor.Magenta); hrac1.OdkryjPolicko += hrac2.OdkryjHerniPolicko; hrac2.OdkryjPolicko += hrac1.OdkryjHerniPolicko; hrac1.VytvoreniHerniPlochy(); System.Threading.Thread.Sleep(300); hrac2.VytvoreniHerniPlochy(); hrac1.Pohyb += hrac2.PohybPoHerniPlose; hrac2.Pohyb += hrac1.PohybPoHerniPlose; //Herni smycka while (hrac1.PocetLodi > 0 && hrac2.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry) { try { if (hrac1.NaTahu) { hrac2.KontrolaStavuPolicka = false; while (!hrac2.KontrolaStavuPolicka && !hrac1.UkonceniHry) { Hra.hrac = hrac1; Hra.NaTahu(); Hra.HerniOkno(hrac2); hrac1.Hraje(); } if (!hrac2.UkonceniHry) { hrac1.NaTahu = false; hrac2.NaTahu = true; } } else if (hrac2.NaTahu) { hrac1.KontrolaStavuPolicka = false; while (!hrac1.KontrolaStavuPolicka && !hrac2.UkonceniHry) { Hra.hrac = hrac2; Hra.NaTahu(); Hra.HerniOkno(hrac1); hrac2.Hraje(); } if (!hrac2.UkonceniHry) { hrac2.NaTahu = false; hrac1.NaTahu = true; } } } catch { Zvuky.Chyba(); Hra.Zprava("Neočekávaná chyba", ConsoleColor.Red, ConsoleColor.Cyan); } } //Vypise na konci hry kdo vyhral if (hrac1.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry) { Zvuky.Vyhra(); Hra.ZpravaKonecHry("Vyhrál(a)", hrac1); } else if (hrac2.PocetLodi > 0 && !hrac1.UkonceniHry && !hrac2.UkonceniHry) { Zvuky.Vyhra(); Hra.ZpravaKonecHry("Vyhrál(a)", hrac2); } }
/// <summary> /// Metoda spusti hru pro jednoho hrace /// </summary> public static void NovaHraJednohoHrace() { Hrac.index = 0; bool kontrolaJmena = true; string vstup = "Zadejte jméno hráče: "; while (kontrolaJmena) //ziskani jemna hrace { Console.Clear(); Console.SetCursorPosition(1, 3); Console.Write(vstup); jmenoHrace1 = Console.ReadLine(); if (jmenoHrace1.Length < 10) { kontrolaJmena = false; } else { Hra.Zprava("Zadali jste příliš dlouhé jméno. Můžete zadat Max. 10 znaků", ConsoleColor.Red, ConsoleColor.Cyan); } } Hrac hrac = new Hrac(jmenoHrace1, ConsoleColor.DarkGreen); Pocitac pocitac = new Pocitac(ConsoleColor.Red); hrac.OdkryjPolicko += pocitac.OdkryjHerniPolicko; pocitac.OdkryjPolicko += hrac.OdkryjHerniPolicko; hrac.VytvoreniHerniPlochy(); System.Threading.Thread.Sleep(300); pocitac.VytvoreniHerniPlochy(); hrac.Pohyb += pocitac.PohybPoHerniPlose; //Herni smycka while (hrac.PocetLodi > 0 && pocitac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry) { try { if (hrac.NaTahu) { pocitac.KontrolaStavuPolicka = false; while (!pocitac.KontrolaStavuPolicka && !hrac.UkonceniHry) { Hra.hrac = hrac; Hra.NaTahu(); Hra.HerniOkno(pocitac); hrac.Hraje(); } if (!hrac.UkonceniHry) { hrac.NaTahu = false; pocitac.NaTahu = true; } } else if (pocitac.NaTahu) { Hra.hrac = pocitac; Hra.NaTahu(); Hra.HerniOkno(hrac); pocitac.Hraje(); pocitac.NaTahu = false; hrac.NaTahu = true; } } catch { Zvuky.Chyba(); Hra.Zprava("Neočekávaná chyba", ConsoleColor.Red, ConsoleColor.Cyan); } } //Vypis viteze na konci hry if (hrac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry) { Zvuky.Vyhra(); Hra.ZpravaKonecHry("Vyhrál(a)", hrac); } else if (pocitac.PocetLodi > 0 && !hrac.UkonceniHry && !pocitac.UkonceniHry) { Zvuky.Prohra(); Hra.ZpravaKonecHry("Vyhrál(a)", pocitac); } }