Пример #1
0
        public static void Aja()
        {
            WriteLine("Noppa-peli");

            Pelaaja yksi  = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 1 nimi: "));
            Pelaaja kaksi = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 2 nimi: "));

            Noppa eka  = new Noppa();
            Noppa toka = new Noppa();

            int    heittokierros = 1;
            double pelaaja1tulos;
            double pelaaja2tulos;

            do
            {
                WriteLine($"Heittokierros {heittokierros}");
                WriteLine($"{yksi.getNimi()}: {eka.Heita()} + {toka.Heita()} = {eka.Lukema + toka.Lukema}");
                pelaaja1tulos = eka.Lukema + toka.Lukema;
                WriteLine($"{kaksi.getNimi()}: {eka.Heita()} + {toka.Heita()} = {eka.Lukema + toka.Lukema}");
                pelaaja2tulos = eka.Lukema + toka.Lukema;
                heittokierros++;
                ReadKey();

                if (pelaaja1tulos == pelaaja2tulos)
                {
                    yksi.Pisteet  = yksi.Pisteet;
                    kaksi.Pisteet = kaksi.Pisteet;
                }
                else if (pelaaja1tulos > pelaaja2tulos)
                {
                    yksi.Pisteet++;
                    kaksi.Pisteet = 0;
                }
                else
                {
                    kaksi.Pisteet++;
                    yksi.Pisteet = 0;
                }
            } while (VOITONPISTERAJA > yksi.Pisteet && VOITONPISTERAJA > kaksi.Pisteet);


            WriteLine();
            if (yksi.Pisteet > kaksi.Pisteet)
            {
                WriteLine($"Pelin voittaja on {yksi.getNimi()} ja noppia heitettiin {eka.HeittoLkm / 2} kertaa!");
            }
            else
            {
                WriteLine($"Pelin voittaja on {kaksi.getNimi()} ja noppia heitettiin {toka.HeittoLkm / 2} kertaa!");
            }
        }
Пример #2
0
        //Metodit
        public static void Aja()
        {
            //Pelaaja -oliot
            Pelaaja p1 = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 1 nimi:"));
            Pelaaja p2 = new Pelaaja(Helpers.Syote.Merkkijono("Pelaajan 2 nimi:"));
            //Noppa -oliot
            Noppa n1 = new Noppa();
            Noppa n2 = new Noppa();

            while (true)
            {
                //Heittokierroksen määräytyminen HeittoLkm:n avulla
                if (n1.HeittoLkm == 0)
                {
                    WriteLine($"Heittokierros 1");
                }

                else if (n1.HeittoLkm != 0)
                {
                    WriteLine($"Heittokierros {(n1.HeittoLkm / 2) + 1}");
                }

                //Noppien heittely
                WriteLine($"{p1.Nimi}: {n1.Heita()} + {n2.Heita()} = {n1.Lukema + n2.Lukema}");
                int p1p = n1.Lukema + n2.Lukema; //Muuttujaan tallennettu yhteenlaskettu tulos

                WriteLine($"{p2.Nimi}: {n1.Heita()} + {n2.Heita()} = {n1.Lukema + n2.Lukema}");
                int p2p = n1.Lukema + n2.Lukema; //Muuttujaan tallennettu yhteenlaskettu tulos

                //Yhteenlaskettujen silmälukujen vertailu
                if (p1p > p2p)
                {
                    p1.Pisteet++;
                    p2.Pisteet = 0;
                }

                else if (p2p > p1p)
                {
                    p2.Pisteet++;
                    p1.Pisteet = 0;
                }

                //Jos jommankumman pelaajan pisteet saavuttavat voittoon tarvittavan määrän,
                //looppi katkeaa
                if (p1.Pisteet == VOITONPISTERAJA)
                {
                    WriteLine();
                    WriteLine($"Pelin voittaja on {p1.Nimi} ja noppia heitettiin {n1.HeittoLkm / 2} kertaa!");
                    WriteLine();
                    break;
                }

                else if (p2.Pisteet == VOITONPISTERAJA)
                {
                    WriteLine();
                    WriteLine($"Pelin voittaja on {p2.Nimi} ja noppia heitettiin {n1.HeittoLkm / 2} kertaa!");
                    WriteLine();
                    break;
                }
            }
        }
Пример #3
0
        public static void Aja()
        {
            //Riveillä 20-40 luodaan ohjelmassa käytettävät oliot.

            //Käytetään pelin voittajan tulostukseen.
            bool Pelaaja1Voitti = false;

            WriteLine("Noppa-peli");

            Write("Pelaajan 1 nimi: ");
            Pelaaja Pelaaja1 = new Pelaaja(Vainkirjaimia(ReadLine()));

            Write("Pelaajan 2 nimi: ");
            Pelaaja Pelaaja2 = new Pelaaja(Vainkirjaimia(ReadLine()));

            //Jos pelaajalle2 annetaan sama nimi kuin pelaajalle nimeä pyydetään uudelleen.
            while (Pelaaja1.Nimi == Pelaaja2.Nimi)
            {
                Write($"Et voi valita samaa nimeä kuin pelaaja1({Pelaaja1.Nimi}), valitse uudestaan: ");
                Pelaaja2 = new Pelaaja(Vainkirjaimia(ReadLine()));
            }

            Noppa Noppa1 = new Noppa();
            Noppa Noppa2 = new Noppa();
            Noppa Noppa3 = new Noppa();
            Noppa Noppa4 = new Noppa();

            //Suoritetaan looppia kunnes toinen pelaaja saa pisteet voittoon.
            while (Pelaaja1.Pisteet != VOITONPISTERAJA && Pelaaja2.Pisteet != VOITONPISTERAJA)
            {
                //Pelaajan1 nopat per pelivuoro.
                Noppa1.Heita();
                Noppa2.Heita();

                //Pelaajan2 nopat per pelivuoro.
                Noppa3.Heita();
                Noppa4.Heita();

                //Tulostaa heittokierroksen lukumäärän, noppa olion1 perusteella (olisi voinut käyttää mitä noppa oliota tahansa).
                WriteLine($"Heittokierros {Noppa2.HeittoLkm}");

                //Tulostaa pelaajille riveillä 50 ja 51 arvotut noppaluvut ja niiden summan.
                WriteLine($"{Pelaaja1.Nimi}: {Noppa1.Lukema} + {Noppa2.Lukema} = {Noppa1.Lukema + Noppa2.Lukema}");
                WriteLine($"{Pelaaja2.Nimi}: {Noppa3.Lukema} + {Noppa4.Lukema} = {Noppa3.Lukema + Noppa4.Lukema}");

                //Riveillä 62-73 annetaan pisteet sille kummalla on suurempi noppasumma,
                //nollataan kierroksen häviäjän pisteet ja asetetaan pelaaja1 joko kierroksen voittajaksi tai ei voittajaksi.(Kun while loop päättyy tarkistan tällä kumpi voitti pelin)
                if (Noppa1.Lukema + Noppa2.Lukema > Noppa3.Lukema + Noppa4.Lukema)
                {
                    Pelaaja1.Pisteet++;
                    Pelaaja2.Pisteet = 0;
                    Pelaaja1Voitti   = true;
                }
                if (Noppa3.Lukema + Noppa4.Lukema > Noppa1.Lukema + Noppa2.Lukema)
                {
                    Pelaaja2.Pisteet++;
                    Pelaaja1.Pisteet = 0;
                    Pelaaja1Voitti   = false;
                }
            }

            //Jos pelaaja1 voitti tulostetaan hänet voittajaksi.
            if (Pelaaja1Voitti)
            {
                WriteLine($"Pelin voittaja on {Pelaaja1.Nimi} ja noppia heitettiin {Noppa1.HeittoLkm} kertaa!");
            }
            //Jos pelaaja2 voitti tulostetaan hänet voittajaksi.
            else
            {
                WriteLine($"Pelin voittaja on {Pelaaja2.Nimi} ja noppia heitettiin {Noppa1.HeittoLkm} kertaa!");
            }
        }
Пример #4
0
        public static void Aja()
        {
            //Varsinainen pelin algoritmi
            //Kysyy pelaajien 1 ja 2 nimet ja perustaa niille Pelaaja-oliot
            //Perustaa Noppa-oliot
            WriteLine("Noppa-peli");
            string nimi1;

            nimi1 = Merkkijono("Pelaajan 1 nimi:");
            Noppa   noppa1 = new Noppa();
            Noppa   noppa2 = new Noppa();
            Pelaaja eka    = new Pelaaja(nimi1);

            Console.Write("Pelaajan 2 nimi: ");
            Pelaaja toka = new Pelaaja(nimi: (Console.ReadLine()));

            do
            {
                //int n1 = ensimmäisen pelaajan nopanheittojen yhteenlaskettu tulos
                //int n2 = toisen pelaajan nopanheittojen yhteenlaskettu tulos
                int n1 = 0;
                int n2 = 0;

                noppa1.Heita();
                noppa2.Heita();
                n1 = noppa1.Lukema + noppa2.Lukema;
                WriteLine($"Heittokierros {noppa1.HeittoLkm}");
                Write($"{eka.Nimi}: ");
                WriteLine($"{noppa1.Lukema} + {noppa2.Lukema} = {n1}");
                Write($"{toka.Nimi}: ");

                noppa1.Heita();
                noppa2.Heita();
                n2 = noppa1.Lukema + noppa2.Lukema;

                WriteLine($"{noppa1.Lukema} + {noppa2.Lukema} = {n2}");

                noppa1.HeittoLkm--;

                //Pelaajien pisteiden laskeminen annettujen sääntöjen mukaisesti. Kierroksen häviäjän pisteet nollataan ja voittajan pisteitä nostetaan yhdellä
                //Kun jompikumpi pelaaja saavuttaa 3 pistettä, ohjelma kertoo voittajan nimen ja kuinka monta kierrosta pelattiin
                if (n1 > n2)
                {
                    eka.Pisteet++;
                    toka.Pisteet = 0;
                }
                if (n1 == n2)
                {
                }
                if (n2 > n1)
                {
                    toka.Pisteet++;
                    eka.Pisteet = 0;
                }
                if (eka.Pisteet == VOITONPISTERAJA || toka.Pisteet == VOITONPISTERAJA)
                {
                    break;
                }
                ReadKey();
            } while (true);
            if (eka.Pisteet == 3)
            {
                WriteLine();
                WriteLine($"Pelin voittaja on {eka.Nimi} ja noppia heitettiin {noppa1.HeittoLkm} kertaa!");
            }
            else
            {
                WriteLine();
                WriteLine($"Pelin voittaja on {toka.Nimi} ja noppia heitettiin {noppa1.HeittoLkm} kertaa!");
            }
        }