public void AnvändFöremål(Kvadrat kvadrat) { if (this.namn == "Exit") { } else { Spelare.Inventory.Remove(this); if (namn == "Health Potion") { Spelare.Hp += 50; Console.Beep(200, 300); } if (namn == "Bomb") { kvadrat.Fiende.Hp -= 2; Console.Beep(37, 300); } } }
private static void Attack(Kvadrat kvadrat) { for (int i = 0; i < Spelare.Namn.Length; i++) { Console.Write(Spelare.Namn[i]); Thread.Sleep(100); } for (int i = 0; i < " is attacking".Length; i++) { Console.Write(" is attacking"[i]); Thread.Sleep(100); } Console.WriteLine(); Console.WriteLine(Spelare.Namn + " dealt " + Spelare.Attack + " damage"); kvadrat.Fiende.Hp -= Spelare.Attack; Console.WriteLine("Remaining HP: " + kvadrat.Fiende.Hp); Thread.Sleep(2000); spelaresTur = false; }
public Level(int höjd, int bredd, string levelNamn) { this.höjd = höjd; this.bredd = bredd; this.levelNamn = levelNamn; this.kvadrater = new Kvadrat[höjd, bredd]; for (int i = 0; i < kvadrater.GetLength(0); i++) { for (int j = 0; j < kvadrater.GetLength(1); j++) { kvadrater[i, j] = new Kvadrat(); } } Random rng = new Random(); for (int i = 1; i <= 3; i++) { int randomY = rng.Next(1, kvadrater.GetLength(0)); int randomX = rng.Next(1, kvadrater.GetLength(1)); kvadrater[randomY, randomX].Monster = true; kvadrater[randomY, randomX].Fiende = new Fiende(rng.Next(0, 4)); } for (int i = 1; i <= 3; i++) { int randomY = rng.Next(1, kvadrater.GetLength(0)); int randomX = rng.Next(1, kvadrater.GetLength(1)); kvadrater[randomY, randomX].Kista = true; } kvadrater[0, 0].Spelare = true; }
private static void DrawFight(Kvadrat kvadrat, Spelare spelare) { PrintEnemy(kvadrat); PrintStats(spelare); Console.WriteLine(); if (spelaresTur) { Console.WriteLine("╔════════════════════════════════╗"); for (int i = 0; i < fightMeny.GetLength(0); i++) { Console.Write(" "); if (fightMeny[i, 1] == "1") { Console.ForegroundColor = ConsoleColor.Red; Console.Write(fightMeny[i, 0]); Console.ForegroundColor = ConsoleColor.White; } else { Console.ForegroundColor = ConsoleColor.White; Console.Write(fightMeny[i, 0]); } } Console.WriteLine(); Console.WriteLine("╚════════════════════════════════╝"); Console.WriteLine(); ConsoleKeyInfo input = Console.ReadKey(true); if (input.Key == ConsoleKey.RightArrow && fightMenyVal != 3) { fightMeny[fightMenyVal, 1] = "0"; fightMenyVal++; fightMeny[fightMenyVal, 1] = "1"; } if (input.Key == ConsoleKey.LeftArrow && fightMenyVal != 0) { fightMeny[fightMenyVal, 1] = "0"; fightMenyVal--; fightMeny[fightMenyVal, 1] = "1"; } if (input.Key == ConsoleKey.Enter) { if (fightMenyVal == 0) { Attack(kvadrat); } else if (fightMenyVal == 1) { Spelare.Inventory[0].Vald = true; bool vald = false; int menyVal = 0; while (!vald) { Console.Clear(); PrintEnemy(kvadrat); PrintStats(spelare); Console.WriteLine(); spelare.PrintInventory(); ConsoleKeyInfo input2 = Console.ReadKey(true); if (input2.Key == ConsoleKey.UpArrow) { if (menyVal != 0) { Spelare.Inventory[menyVal].Vald = false; menyVal--; Spelare.Inventory[menyVal].Vald = true; Console.Beep(300, 100); } } if (input2.Key == ConsoleKey.DownArrow) { if (menyVal < Spelare.Inventory.Count - 1) { Spelare.Inventory[menyVal].Vald = false; menyVal++; Spelare.Inventory[menyVal].Vald = true; Console.Beep(300, 100); } } if (input2.Key == ConsoleKey.Enter) { Spelare.Inventory[menyVal].AnvändFöremål(kvadrat); vald = true; spelaresTur = false; } Console.Clear(); } } else if (fightMenyVal == 2) { Pass(); spelaresTur = false; } else { Flee(); spelaresTur = false; } } } else if (!spelaresTur) { FiendeAttack(kvadrat.Fiende); spelaresTur = true; } }
public static void PrintEnemy(Kvadrat kvadrat) { int namnLängd = kvadrat.Fiende.FiendeTyp.Length; Console.Write("╔"); for (int i = 0; i < namnLängd + 4; i++) { Console.Write("═"); } Console.WriteLine("╗"); for (int i = 0; i < 3; i++) { if (i == 0) { Console.Write("║"); } if (i == 1) { Console.Write($" {kvadrat.Fiende.FiendeTyp} "); } if (i == 2) { Console.WriteLine("║"); } } Console.Write("╚"); for (int i = 0; i < namnLängd + 4; i++) { Console.Write("═"); } Console.WriteLine("╝"); int initialHp = kvadrat.Fiende.Hp; Console.Write("╔"); for (int i = 0; i < initialHp * 2 + 1; i++) { Console.Write("═"); } Console.WriteLine("╗"); for (int i = 0; i < kvadrat.Fiende.Hp; i++) { if (i == 0) { Console.Write("║"); } Console.ForegroundColor = ConsoleColor.Red; Console.Write(" ♥"); Console.ForegroundColor = ConsoleColor.White; Console.Write(""); if (i == kvadrat.Fiende.Hp - 1) { Console.Write(" ║"); } } Console.WriteLine(); Console.Write("╚"); for (int i = 0; i < initialHp * 2 + 1; i++) { Console.Write("═"); } Console.Write("╝"); Console.WriteLine(); if (kvadrat.Fiende.FiendeTyp == "Slime") { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"{kvadrat.Fiende.FiendeGrafik}"); Console.ForegroundColor = ConsoleColor.White; } if (kvadrat.Fiende.FiendeTyp == "King-Slime") { Console.ForegroundColor = ConsoleColor.DarkCyan; Console.Write($"{kvadrat.Fiende.FiendeGrafik.Substring(0, 55)}"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"{kvadrat.Fiende.FiendeGrafik.Substring(55)}"); Console.ForegroundColor = ConsoleColor.White; } if (kvadrat.Fiende.FiendeTyp == "Witch") { Console.ForegroundColor = ConsoleColor.Magenta; Console.Write($"{kvadrat.Fiende.FiendeGrafik.Substring(0, 84)}"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine($"{kvadrat.Fiende.FiendeGrafik.Substring(84)}"); } if (kvadrat.Fiende.FiendeTyp == "Angry-Witch") { Console.ForegroundColor = ConsoleColor.Magenta; Console.Write($"{kvadrat.Fiende.FiendeGrafik.Substring(0, 130)}"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine($"{kvadrat.Fiende.FiendeGrafik.Substring(130)}"); } Console.WriteLine("═══════════════════════════════════════════════════"); }
private static void Collect(Kvadrat kvadrat) { Spelare.Score += 50; kvadrat.Kista = false; }
private static void Attack(Kvadrat kvadrat) { throw new NotImplementedException(); }