public static void PeliLoppui(Käsi pe, Tili tili) { //Supervoitto if (pe.OnkoSuperVoitto()) { tili.SuperVoitto(); } Console.WriteLine(); Console.WriteLine($"Peli loppui, mitä haluat tehdä seuraavaksi?\nP = Pelaa uudelleen\tL = Lopeta peli\t\tT = Tallenna rahat & Lopeta\tD = Tuhoa edellinen pelitallennus"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Pelimerkkisi: {tili.Rahat}€"); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Pelaajan voitot: " + pelaajanVoitot); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\tJakajan voitot: " + jakajanVoitot); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("\tTasapelit: " + tasapelit); Console.ForegroundColor = ConsoleColor.White; //Console.WriteLine("Pelaajan voitot: " + pelaajanVoitot + "\tJakajan voitot: " + jakajanVoitot + "\tTasapelit: " + tasapelit); UusiKomento: string komento = Console.ReadLine(); if (komento.Equals("p", StringComparison.OrdinalIgnoreCase)) { KaynnistaPeli(); } else if (komento.Equals("l", StringComparison.OrdinalIgnoreCase)) { Console.WriteLine(); Console.WriteLine("Kiitos pelaamisesta! Tervetuloa uudelleen pelaamaan!\nMoi Moi!"); System.Threading.Thread.Sleep(3000); Environment.Exit(0); } else if (komento.Equals("t", StringComparison.OrdinalIgnoreCase)) { Utils_IO.VieRahatTiedostoon(tili, pelaajanVoitot, jakajanVoitot, tasapelit); Console.WriteLine("Kiitos pelaamisesta! Tervetuloa uudelleen pelaamaan!\nMoi Moi!"); System.Threading.Thread.Sleep(3000); Environment.Exit(0); } else if (komento.Equals("d", StringComparison.OrdinalIgnoreCase)) { Utils_IO.TuhoaTiedosto(); Console.WriteLine("Tallennus tuhottu, mitä seuraavaksi?"); goto UusiKomento; } else { Console.WriteLine("Tuntematon komento, yritä uudelleen!"); goto UusiKomento; } }
public static void KaynnistaPeli() { //Jos ensimmäinen kierros kysytään haluatko ladata tallennetun pelisi if (ensimmäinenKierros) { int?ladatutRahat = Utils_IO.HaluatkoLadataPelitilanteenRahat(); if (ladatutRahat.HasValue) { tili = new Tili(ladatutRahat); } ensimmäinenKierros = false; } //Luodaan pelitili tili = tili == null ? new Tili() : tili; //Luodaan uusi pakka / tai jos liian vähän kortteja pakka = TäytyyköLuodaUusiPakka(pakka); tili.LaitaPanos(); //Luodaan pelaajan- ja jakajankäsi Käsi pe = new Käsi(); Käsi ja = new Käsi(); //Otetaan kaksi korttia molemmille pakasta Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Sinun kortti: "); System.Threading.Thread.Sleep(2000); pe.Kadenkortit.Add(pakka.otaKorttiPakasta()); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("Jakajan kortti: "); System.Threading.Thread.Sleep(2000); ja.Kadenkortit.Add(pakka.otaKorttiPakasta()); Console.ForegroundColor = ConsoleColor.Green; Console.Write("Sinun kortti: "); System.Threading.Thread.Sleep(2000); pe.Kadenkortit.Add(pakka.otaKorttiPakasta()); Console.WriteLine(); System.Threading.Thread.Sleep(2000); Console.ForegroundColor = ConsoleColor.White; pe.OnkoBlackJack(); if (pe.BlackJack) { Console.WriteLine("Sinulla on BlackJack!"); JakajanVuoro(ja, pe, pakka, tili); KumpiVoitti(pe, ja, tili); PeliLoppui(pe, tili); } //Tarkistetaan tarviiko muuttaa Ässiä Ykkösiksi Käsi.TarkistaJaMuutaAssatYkkosiksi(pe); Käsi.TarkistaJaMuutaAssatYkkosiksi(ja); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Sinulla on " + pe.KadenArvo); System.Threading.Thread.Sleep(1000); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Jakajalla on " + ja.KadenArvo); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); HaluatkoTuplata(pe, ja, pakka, tili); //Pelaajan vuoro/Tuplaus //Pelaajan vuoro PelaajanVuoro(pe, pakka, tili); //Jakajan vuoro JakajanVuoro(ja, pe, pakka, tili); //Kumpi voitti tarkistus KumpiVoitti(pe, ja, tili); //Pelinlopetus PeliLoppui(pe, tili); }