Exemplo n.º 1
0
        public static void PelaajanVuoro(Käsi kasi, Korttipakka pakka, Tili tili)
        {
            //Lisää ettei hyväksy muita komentoja.
            string toiminto = " ";

            while (true)
            {
                Console.WriteLine("Mitä tehdään?\nH = Hit\nS = Stand");
                toiminto = Console.ReadLine();
                Console.WriteLine();

                if (toiminto.Equals("s", StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }
                else if (!toiminto.Equals("h", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("Tuntematon komento, yritä uudelleen!");
                    continue;
                }

                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write("Sinun kortti: ");
                System.Threading.Thread.Sleep(2000);
                kasi.Kadenkortit.Add(pakka.otaKorttiPakasta());
                Käsi.TarkistaJaMuutaAssatYkkosiksi(kasi);
                System.Threading.Thread.Sleep(2000);
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Sinulla on " + kasi.KadenArvo);

                if (kasi.KadenArvo > 21)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("Sinulla yli! Jakaja voitti.");
                    Console.ForegroundColor = ConsoleColor.White;

                    jakajanVoitot++;
                    tili.Häviö();
                    PeliLoppui(kasi, tili);
                }
                else if (kasi.KadenArvo == 21)
                {
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public static void Tuplaus(Käsi pelaaja, Käsi jakaja, Korttipakka pakka, Tili tili)
        {
            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write("Tuplaus:\nSinun kortti: ");
            System.Threading.Thread.Sleep(2000);
            pelaaja.Kadenkortit.Add(pakka.otaKorttiPakasta());
            System.Threading.Thread.Sleep(2000);

            Käsi.TarkistaJaMuutaAssatYkkosiksi(pelaaja);
            Console.WriteLine("Sinulla on " + pelaaja.KadenArvo + "\n");
            Console.ForegroundColor = ConsoleColor.White;
            if (pelaaja.KadenArvo > 21)
            {
                Console.WriteLine("Sinulla yli! Jakaja voitti.");
                jakajanVoitot++;
                PeliLoppui(pelaaja, tili);
            }
            JakajanVuoro(jakaja, pelaaja, pakka, tili);
            KumpiVoitti(pelaaja, jakaja, tili);
            PeliLoppui(pelaaja, tili);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        //SPLITTAUS!!!
        public static void Splittaa(Käsi pe, Käsi ja, Korttipakka pakka)
        {
            Käsi pe2 = new Käsi();

            pe2.Kadenkortit.Add(new Kortti(pe.Kadenkortit[0]));
            pe.Kadenkortit.RemoveAt(0);

            string toiminto = " ";

            // Ensimmäinen käsi
            while (true)
            {
                Console.WriteLine("Ensimmäinen käsi. Mitä tehdään?\nH = Hit\nS = Stand");
                toiminto = Console.ReadLine();
                Console.WriteLine();

                if (toiminto.Equals("s", StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }
                else if (!toiminto.Equals("h", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("Tuntematon komento, yritä uudelleen!");
                    continue;
                }

                Console.Write("Sinun kortti: ");
                System.Threading.Thread.Sleep(2000);
                pe.Kadenkortit.Add(pakka.otaKorttiPakasta());
                Käsi.TarkistaJaMuutaAssatYkkosiksi(pe);
                System.Threading.Thread.Sleep(2000);
                Console.WriteLine("Sinulla on " + pe.KadenArvo);

                if (pe.KadenArvo > 21)
                {
                    Console.WriteLine("Sinulla yli!");
                    jakajanVoitot++; // MITEN VOITOT LASKETAAN KUN SPLITTI!?!?
                    break;
                }
            }
            //Toinen käsi
            while (true)
            {
                Console.WriteLine("Toinen käsi. Mitä tehdään?\nH = Hit\nS = Stand");
                toiminto = Console.ReadLine();
                Console.WriteLine();

                if (toiminto.Equals("s", StringComparison.OrdinalIgnoreCase))
                {
                    break;
                }
                else if (!toiminto.Equals("h", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("Tuntematon komento, yritä uudelleen!");
                    continue;
                }

                Console.Write("Sinun kortti: ");
                System.Threading.Thread.Sleep(2000);
                pe2.Kadenkortit.Add(pakka.otaKorttiPakasta());
                Käsi.TarkistaJaMuutaAssatYkkosiksi(pe2);
                System.Threading.Thread.Sleep(2000);
                Console.WriteLine("Sinulla on " + pe.KadenArvo);

                if (pe2.KadenArvo > 21)
                {
                    Console.WriteLine("Sinulla yli!");
                    jakajanVoitot++; // MITEN VOITOT LASKETAAN KUN SPLITTI!?!?
                    break;
                }
            }
            //Tähän vielä jatko koodia
        }
Exemplo n.º 5
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);
                    }
                }
            }
        }