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