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); }
public static void JakajanVuoro(Käsi kasi, Käsi pelaajankasi, Korttipakka pakka, Tili tili) { if (pelaajankasi.BlackJack && (kasi.KadenArvo == 10 || kasi.KadenArvo == 11)) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Jakaja ottaa kortin yhden kortin.."); System.Threading.Thread.Sleep(2000); kasi.Kadenkortit.Add(pakka.otaKorttiPakasta()); Console.ForegroundColor = ConsoleColor.White; kasi.OnkoBlackJack(); KumpiVoitti(pelaajankasi, kasi, tili); PeliLoppui(pelaajankasi, tili); } else if (pelaajankasi.BlackJack && kasi.KadenArvo < 10) { System.Threading.Thread.Sleep(2000); KumpiVoitti(pelaajankasi, kasi, tili); PeliLoppui(pelaajankasi, tili); } if (kasi.KadenArvo >= 17) { Console.WriteLine("Jakaja jää"); } else { while (kasi.KadenArvo < 17) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Jakaja ottaa kortin.."); System.Threading.Thread.Sleep(2000); kasi.Kadenkortit.Add(pakka.otaKorttiPakasta()); System.Threading.Thread.Sleep(2000); kasi.OnkoBlackJack(); if (kasi.BlackJack == true && pelaajankasi.BlackJack == true) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Jakajalla myös BlackJack! Tasapeli."); Console.ForegroundColor = ConsoleColor.White; tasapelit++; tili.Tasapeli(); PeliLoppui(pelaajankasi, tili); } else if (kasi.BlackJack == true && pelaajankasi.BlackJack == false) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Jakajalla on BlackJack! Sinä hävisit."); Console.ForegroundColor = ConsoleColor.White; jakajanVoitot++; tili.Häviö(); PeliLoppui(pelaajankasi, tili); } else if (kasi.BlackJack == false && pelaajankasi.BlackJack == true) { pelaajanVoitot++; tili.MaksaVoittoBlackjack(); PeliLoppui(pelaajankasi, tili); } Käsi.TarkistaJaMuutaAssatYkkosiksi(kasi); Console.WriteLine("Jakajalla on " + kasi.KadenArvo); Console.ForegroundColor = ConsoleColor.White; if (kasi.KadenArvo > 21) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(); Console.WriteLine("Jakaja yli! Sina Voitit!"); Console.ForegroundColor = ConsoleColor.White; pelaajanVoitot++; tili.MaksaVoitto(); PeliLoppui(pelaajankasi, tili); } } } }