static void Main(string[] args) { // Human adrian = new Human("Adrian",4,4,2,2000); // Human dude = new Human("Dude"); // Console.WriteLine($"Name: {adrian.name}"); // Console.WriteLine($"Health: {adrian.health}"); // Console.WriteLine($"Strength: {adrian.strength}"); // Console.WriteLine($"Dexterity: {adrian.dexterity}"); // Console.WriteLine($"Intelligence: {adrian.intelligence}"); // Console.WriteLine($"Name: {dude.name}"); // Console.WriteLine($"Health: {dude.health}"); // Console.WriteLine($"Strength: {dude.strength}"); // Console.WriteLine($"Dexterity: {dude.dexterity}"); // Console.WriteLine($"Intelligence: {dude.intelligence}"); // adrian.Attack(dude); Wizard Harry = new Wizard("Harry Potter"); Harry.Status(); Wizard Ron = new Wizard("Ronald Weasley"); Ron.Status(); Harry.Fireball(Ron); Samurai Hanzo = new Samurai("Hattori Hanzo"); Harry.Fireball(Hanzo); Hanzo.Meditate(); Hanzo.Status(); Hanzo.Death_blow(Ron); }
public void Encounter(Human[] allies, Monster[] enemies) { Random rand = new Random(); Console.WriteLine("Random encounter! Enemies appeared!"); int totallength = allies.Length + enemies.Length; object[] turns = new object[totallength]; int i = 0; foreach (Human ally in allies) { turns[i] = ally; i++; } foreach (Monster enemy in enemies) { turns[i] = enemy; i++; } foreach (Monster enemy in enemies) { Console.WriteLine(enemy.name); } int turncount = 0; while (true) { Boolean allieswin = true; Boolean enemieswin = true; foreach (Monster enemy in enemies) { if (enemy.health > 0) { allieswin = false; } } foreach (Human ally in allies) { if (ally.health > 0) { enemieswin = false; } } if (allieswin == true) { Console.WriteLine("You win! Commence victory theme!"); break; } if (enemieswin == true) { Console.WriteLine("The allied party has died. Now the sacred crystals will never be collected, and darkness will forever rule throughout the land. Game Over."); break; } int myturn = turncount % totallength; //Console.WriteLine(myturn); if (turns[myturn] is Monster) { Monster currenemy = turns[myturn] as Monster; if (currenemy.health == 0) { turncount += 1; continue; } Console.WriteLine("{0}'s turn!", currenemy.name); int mytarget = 0; while (true) { mytarget = rand.Next(0, allies.Length); if (allies[mytarget].health > 0) { currenemy.Attack(allies[mytarget]); break; } } turns[myturn] = currenemy; } else if (turns[myturn] is Human) { string command = "default"; string target = "default"; Monster mytarget = enemies[0]; if (turns[myturn] is Samurai) { Samurai turnplayer = turns[myturn] as Samurai; if (turnplayer.health == 0) { turncount += 1; continue; } while (true) { Boolean found = false; Console.WriteLine("What will {0} do?", turnplayer.name); command = Console.ReadLine(); if (command != "attack" && command != "deathblow" && command != "meditate") { Console.WriteLine("Invalid command."); continue; } if (command != "meditate") { Console.WriteLine("Targeting what?"); target = Console.ReadLine(); foreach (Monster enemy in enemies) { if (target == enemy.name) { mytarget = enemy; found = true; break; } } if (found == false) { Console.WriteLine("Invalid target."); continue; } } if (command == "attack") { turnplayer.Attack(mytarget); if (turnplayer.poisoned > 0) { turnplayer.health -= 5; turnplayer.poisoned--; } break; } else if (command == "deathblow") { turnplayer.Death_blow(mytarget); if (turnplayer.poisoned > 0) { turnplayer.health -= 5; turnplayer.poisoned--; } break; } else if (command == "meditate") { turnplayer.Meditate(); if (turnplayer.poisoned > 0) { turnplayer.health -= 5; turnplayer.poisoned--; } break; } } } else if (turns[myturn] is Wizard) { Wizard turnplayer = turns[myturn] as Wizard; if (turnplayer.health == 0) { turncount += 1; continue; } while (true) { Boolean found = false; Console.WriteLine("What will {0} do?", turnplayer.name); command = Console.ReadLine(); if (command != "attack" && command != "fireball" && command != "heal") { Console.WriteLine("Invalid command."); continue; } if (command != "heal") { Console.WriteLine("Targeting what?"); target = Console.ReadLine(); foreach (Monster enemy in enemies) { if (target == enemy.name) { mytarget = enemy; found = true; break; } } if (found == false) { Console.WriteLine("Invalid target."); continue; } } if (command == "attack") { turnplayer.Attack(mytarget); break; } else if (command == "fireball") { turnplayer.Fireball(mytarget); break; } else if (command == "heal") { turnplayer.Heal(); break; } } } else if (turns[myturn] is Ninja) { Ninja turnplayer = turns[myturn] as Ninja; if (turnplayer.health == 0) { turncount += 1; continue; } while (true) { Boolean found = false; Console.WriteLine("What will {0} do?", turnplayer.name); command = Console.ReadLine(); if (command != "attack" && command != "steal" && command != "getaway") { Console.WriteLine("Invalid command."); continue; } if (command != "getaway") { Console.WriteLine("Targeting what?"); target = Console.ReadLine(); } foreach (Monster enemy in enemies) { if (target == enemy.name) { mytarget = enemy; found = true; break; } } if (found == false) { Console.WriteLine("Invalid target."); continue; } if (command == "attack") { turnplayer.Attack(mytarget); break; } else if (command == "steal") { turnplayer.Steal(mytarget); break; } else if (command == "getaway") { turnplayer.Get_away(); Console.WriteLine("{} couldn't get away!", turnplayer.name); break; } } } else { Human turnplayer = turns[myturn] as Human; if (turnplayer.health == 0) { turncount += 1; continue; } while (true) { Boolean found = false; Console.WriteLine("What will {0} do?", turnplayer.name); command = Console.ReadLine(); if (command != "attack") { Console.WriteLine("Invalid command."); continue; } foreach (Monster enemy in enemies) { if (target == enemy.name) { mytarget = enemy; found = true; break; } } if (found == false) { Console.WriteLine("Invalid target."); continue; } if (command == "attack") { turnplayer.Attack(mytarget); break; } } } } turncount += 1; } }
static void Main(string[] args) { Dictionary <string, Human> alliance = new Dictionary <string, Human>(); Dictionary <string, Enemy> enemy = new Dictionary <string, Enemy>(); Console.WriteLine("Start a new game ?"); string input = Console.ReadLine(); if (input == "yes") { Wizard w1 = new Wizard(); Ninja n1 = new Ninja(); Samurai s1 = new Samurai(); Zombie z1 = new Zombie("z1"); Zombie z2 = new Zombie("z2"); Spider sp1 = new Spider("spider1", 2, 150); alliance.Add("w1", w1); alliance.Add("n1", n1); alliance.Add("s1", s1); enemy.Add("z1", z1); enemy.Add("z2", z2); enemy.Add("spider1", sp1); Console.WriteLine("Game start !\n Alliance: 1 Wizard: w1 \t 1 Ninja: n1 \t 1 Samurai: s1\n Enemy: 2 Zombies: z1,z2 \t 1 Spider spider1\nPlease input ally"); string ally = Console.ReadLine(); Console.WriteLine("please input ability"); string ability = Console.ReadLine(); Console.WriteLine("Please input target"); string target = Console.ReadLine(); if (ally == "w1") // Wizard abilities: { if (ability == "heal") { if (alliance.ContainsKey(target) == true) { switch (target) { case "w1": w1.Heal(w1); break; case "n1": w1.Heal(n1); break; case "s1": w1.Heal(s1); break; } } else { Console.WriteLine("This ability can only be used to ally !"); } } else if (ability == "fireball") { if (enemy.ContainsKey(target) == true) { switch (target) { case "z1": w1.Fireball(z1); break; case "z2": w1.Fireball(z2); break; case "spider1": w1.Fireball(sp1); break; } } else { Console.WriteLine("This ability can only be used to enemy!"); } } } else if (ally == "n1") //Ninja abilities: { if (ability == "steal") { if (enemy.ContainsKey(target) == true) { switch (target) { case "z1": n1.Steal(z1); break; case "z2": n1.Steal(z2); break; case "spider1": n1.Steal(sp1); break; } } else { Console.WriteLine("This ability can only be used to enemy !"); } } else if (ability == "get_away") { if (target == "n1") { n1.Get_away(); } else { Console.WriteLine("This ability can only be used to self !"); } } } else if (ally == "s1") { if (ability == "death_blow") { if (alliance.ContainsKey(target) == true) { switch (target) { case "w1": s1.Death_blow(w1); break; case "n1": s1.Death_blow(n1); break; case "s1": s1.Death_blow(s1); break; } } else { Console.WriteLine("This ability can only be used to ally !"); } } else if (ability == "meditate") { if (target == "s1") { s1.Meditate(); } else { Console.WriteLine("This ability can only be used to self !"); } } } } }