示例#1
0
        public static void LuurankojenVuoro(List <Luuranko> luurankolista, Hahmo pelaaja)
        {
            Console.Clear();
            if (luurankolista.Count() > 1)
            {
                Console.WriteLine("\nLuurankojen vuoro");
            }
            else
            {
                Console.WriteLine("\nLuurangon vuoro");
            }

            for (int i = 0; i < luurankolista.Count(); i++) //käydään luurankolista läpi
            {
                if (pelaaja.Kuollut)
                {
                    break;
                }

                if (pelaaja.Väistä() == false)
                {
                    pelaaja.MenetäHPtä(luurankolista[i].Hyökkää(pelaaja.Def, pelaaja.Nimi));
                    Console.ReadKey(true);
                }
                else
                {
                    Console.WriteLine("{0} hyökkäsi, pelaaja väisti.", luurankolista[i].Nimi);
                    Console.ReadKey(true);
                }
            }
        }
示例#2
0
        public static void LuoUusiPelaaja()
        {
            Areenalista.Add(new Pelaaja("Pelaaja", 5, 1, 1, 1, 5));
            Hahmo pelaaja = Areenalista.Find(item => item.Nimi == "Pelaaja");

            pelaaja.LisääHptä(pelaaja.Def, pelaaja.Hp, pelaaja.MaxHp);
        }
示例#3
0
        public static void HeitäPommi(Hahmo heittäjä, Hahmo vihollinen)
        {
            Random arvonta        = new Random();
            int    vahinkoKerroin = arvonta.Next(2, 4);
            int    vahinko        = (4 * vahinkoKerroin) - vihollinen.Def;

            if (vahinko < 1)
            {
                int torjuttuVahinko = (4 * vahinkoKerroin) - 1;
                vahinko = 1;
                Console.Write("{0} heitti pommin, {1} otti vain ", heittäjä.Nimi, vihollinen.Nimi);
                Hahmo.VahinkoVäri(vahinko);
                Console.Write(":n vanhinkopisteen (" + torjuttuVahinko + " vastustettu)\n");
            }
            else
            {
                Console.Write("{0} heitti pommin, {1} otti ", heittäjä.Nimi, vihollinen.Nimi);
                Hahmo.VahinkoVäri(vahinko);
                Console.Write(" pistettä vahinkoa (" + vihollinen.Def + " vastustettu)\n");
            }

            vihollinen.MenetäHPtä(vahinko);
        }
示例#4
0
        public static void PelaajanVuoro(Hahmo pelaaja, Hahmo vihollinen)
        {
            if (pelaaja.Puolustautunut)
            {
                pelaaja.LaskePuolustus();
            }

            ConsoleKeyInfo nappiInfo;

            do
            {
                Console.Clear();
                Console.WriteLine("\nPelaajan vuoro\nValitse komento: \n1) Hyökkää \n2) Puolusta \n3) Tavara");
                nappiInfo = Console.ReadKey(true);
                if (nappiInfo.Key == ConsoleKey.D2)
                {
                    break;
                }
                if (nappiInfo.Key == ConsoleKey.D3)
                {
                    break;
                }
            } while (nappiInfo.Key != ConsoleKey.D1);

            //Hyökkäys
            if (nappiInfo.Key == ConsoleKey.D1 || nappiInfo.Key == ConsoleKey.NumPad1)
            {
                vihollinen = Pelaaja.ValitseVihollinen();

                if (vihollinen.Väistä() == false)
                {
                    vihollinen.MenetäHPtä(pelaaja.Hyökkää(vihollinen.Def, vihollinen.Nimi));
                }
                else
                {
                    Console.WriteLine("{0} hyökkäsi, {1} väisti.", pelaaja.Nimi, vihollinen.Nimi);
                }
            }
            //Puolustus
            if (nappiInfo.Key == ConsoleKey.D2 || nappiInfo.Key == ConsoleKey.NumPad2)
            {
                pelaaja.Puolusta();
                Console.WriteLine("Pelaaja puolustautuu");
            }
            //Tavara
            if (nappiInfo.Key == ConsoleKey.D3 || nappiInfo.Key == ConsoleKey.NumPad3)
            {
                if (Pelaaja.Tavaralista.Count() > 0)
                {
                    Tavara valittuTavara = Pelaaja.ValitseTavara();
                    vihollinen = Pelaaja.ValitseVihollinen();
                    Tavara.HeitäPommi(pelaaja, vihollinen);
                    Pelaaja.Tavaralista.Remove(valittuTavara);
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("Ei tavaroita.");
                    Console.ReadKey(true);
                    PelaajanVuoro(pelaaja, vihollinen);
                }
            }
        }
示例#5
0
        static void Main(string[] args)
        {
            Valikko.Päävalikko();
            Random arvonta           = new Random();
            int    luurankolukumäärä = arvonta.Next(1, 4);

            Areena.LuoLuuranko(luurankolukumäärä); //luo vihollisia
            Areena.LuoUusiPelaaja();               // luo pelaaja
            Hahmo pelaaja1 = Areena.Areenalista.Find(item => item.Nimi == "Pelaaja");

            Pelaaja.Hahmonluonti(5);
            for (int j = 0; pelaaja1.Hp > 0; j++) //taistelu jatkuu, kunnes pelaajan hp loppuu
            {
                if (Areena.LuurankoLista.Count < 1)
                {
                    Console.WriteLine("VOITIT");
                    break;
                }
                Console.Clear();
                Console.Write("KIERROS {0}\n\nAreenalla:", (j + 1));
                for (int k = 0; k < Areena.Areenalista.Count(); k++)
                {
                    if (Areena.Areenalista[k] != null)
                    {
                        Console.Write("\n" + Areena.Areenalista[k].Nimi + ", HP: ");
                        Hahmo.HpVäri(Areena.Areenalista[k].Hp, Areena.Areenalista[k].MaxHp);
                        if (Areena.Areenalista[k].Puolustautunut)
                        {
                            Console.Write(" [puolustautuu]");
                        }
                    }
                }
                Console.WriteLine("\n");
                //kierroksen alussa valitaan hahmo jolla suurin dex:
                Hahmo vuorossa = Vuoromanageri.SuurinDex(Areena.Areenalista);

                Console.ReadKey(true);

                if (vuorossa.Nimi.Contains("Luuranko"))//Luurangot aloittavat
                {
                    if (Areena.LuurankoLista.Count > 0)
                    {
                        Vuoromanageri.LuurankojenVuoro(Areena.LuurankoLista, pelaaja1);
                    }
                    if (pelaaja1.Kuollut == false)
                    {
                        Vuoromanageri.PelaajanVuoro(pelaaja1, Areena.LuurankoLista[0]);
                        Console.ReadKey(true);
                    }
                }
                else // pelaaja aloittaa
                {
                    Vuoromanageri.PelaajanVuoro(pelaaja1, Areena.LuurankoLista[0]);
                    Console.ReadKey();
                    if (Areena.LuurankoLista.Count > 0)//luurankoja vielä elossa
                    {
                        Vuoromanageri.LuurankojenVuoro(Areena.LuurankoLista, pelaaja1);
                    }

                    Console.WriteLine("\n***\n");
                }
            }
        }