예제 #1
0
        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);
        }
예제 #2
0
        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);
                    }
                }
            }
        }