private static int pickEnemy(Character character) { int position = 0; int posMax = 0; if (character.getTeam() == 1) { posMax = bTeam.roster.Count(); } else if (character.getTeam() == 2) { posMax = aTeam.roster.Count(); } while (true) { Console.Clear(); Console.WriteLine(" Attacking: {0}", character.getName()); if (character.getTeam() == 1) { int i = 0; foreach (Character enemy in bTeam.roster) { if (position == i) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Name: {0}, HP: {1}", bTeam.roster[i].getName(), bTeam.roster[i].getHP()); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Name: {0}, HP: {1}", bTeam.roster[i].getName(), bTeam.roster[i].getHP()); } i++; } } if (character.getTeam() == 2) { int i = 0; foreach (Character enemy in aTeam.roster) { if (position == i) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Name: {0}, HP: {1}", aTeam.roster[i].getName(), aTeam.roster[i].getHP()); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Name: {0}, HP: {1}", aTeam.roster[i].getName(), aTeam.roster[i].getHP()); } i++; } } //Read Key Input ConsoleKeyInfo keypressed = Console.ReadKey(false); if ((int)keypressed.Key == (char)ConsoleKey.DownArrow && position < posMax) { position += 1; } else if ((int)keypressed.Key == (char)ConsoleKey.UpArrow && position > 0) { position -= 1; } else if ((int)keypressed.Key == (char)ConsoleKey.Enter) { Console.BackgroundColor = ConsoleColor.Black; Console.CursorVisible = true; Console.Clear(); return position; } } }
private static void takeAction(Character character, int enemy) { int position = 0; int posMax = 2; bool turnTaken = false; while (!turnTaken) { Console.Clear(); Console.WriteLine(" Attacking: {0}", character.getName()); if (position == 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Attack"); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Attack"); } if (position == 1) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Cast Spell"); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Cast Spell"); } if (position == 2) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Defend"); Console.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(" Defend"); } //Read Key Input ConsoleKeyInfo keypressed = Console.ReadKey(false); if ((int)keypressed.Key == (char)ConsoleKey.DownArrow && position < posMax) { position += 1; } else if ((int)keypressed.Key == (char)ConsoleKey.UpArrow && position > 0) { position -= 1; } else if ((int)keypressed.Key == (char)ConsoleKey.Enter) { if (position == 0) { character.Attack(bTeam.roster[enemy]); turnTaken = true; } else if (position == 1) { bool success = character.CastSpell(bTeam.roster[enemy]); if (success) { turnTaken = true; } else { turnTaken = false; } } else if (position == 2) { character.setDefenseFlag(true); turnTaken = true; } } } }
static string serializer(Character character, string path) { //Path to Desktop path = path + "\\" + character.getName() + ".bin"; Console.WriteLine(path); //Serialize IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, character); stream.Close(); return path; }