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); } } }
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); }
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); }
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); } } }
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"); } } }