Example #1
0
 public EnemyMovement(Character enemy, EnemyModel model)
 {
     this.character = enemy;
     ///this.character = enemy2;
     this.enemyModel = model;
     this.speed      = 0.01f;
 }
Example #2
0
        /// <summary>
        /// Hämtar loot ifall det finns och ifall spelaren vill plocka upp det.
        /// </summary>

        public static void GetLoot(EnemyModel enemy, PlayerModel player)
        {
            string answer;
            int    lootValue;
            string loot = enemy.droppedLoot(out lootValue);

            if (loot == null)
            {
                PrintDesign.WriteLineInGreen($"You search dead {enemy.Name} and find {enemy.Gold} gold, but no additional loot.");
                player.Gold += enemy.Gold;
            }
            else
            {
                PrintDesign.WriteLineInGreen($"You search dead {enemy.Name} and find {enemy.Gold} gold, and {loot} (worth: {lootValue} coins).");
                player.Gold += enemy.Gold;
                do
                {
                    Console.WriteLine($"Do you want to pick up {loot}? Y/N");
                    answer = Console.ReadLine().ToLower().Replace(" ", "");

                    if (answer == "y")
                    {
                        Console.Clear();

                        if (Player.backpack.ContainsKey(loot))
                        {
                            PrintDesign.WriteLineInRed("You already own this item!");
                        }
                        else
                        {
                            Player.backpack.Add(loot, lootValue);
                            PrintDesign.WriteLineInGreen($"{loot} added to backpack!");
                        }
                    }
                    if (answer != "y" && answer != "n")
                    {
                        Console.Clear();
                        PrintDesign.WriteLineInRed("Invalid input! Try again.");
                    }
                } while (answer != "y" && answer != "n");
            }
        }
Example #3
0
        public static void StartFight(PlayerModel player, EnemyModel enemy)
        {
            Console.Clear();
            int expToGive = enemy.Exp;

            Console.WriteLine($"{player.Name} VS {enemy.Name}");
            Console.WriteLine();
            while (true)
            {
                Console.WriteLine($"{player.Name} health: {player.Health}");
                Console.WriteLine($"{enemy.Name} health: {enemy.Health}\n");
                if (GetAttackResult(player, enemy) == "Fight Over") // skickar in spelaren först (dvs spelaren attackerar) returneras stringen Fight Over så ges exp och loot.
                {
                    Console.Clear();

                    player.GainExp(expToGive);
                    PrintDesign.WriteLineInGreen($"\nYou won the fight! you gain {expToGive} Exp");

                    if (player.Level >= 10)
                    {
                        Program.WonGame();
                    }
                    GetLoot(enemy, player);
                    enemy.Health  = 100;                   // full health inför varje ny fight.
                    player.Health = 100;
                    if (player.FightClass == "warrior")
                    {
                        player.Health = 102;
                    }
                    break;
                }
                Console.WriteLine($"{player.Name} health: {player.Health}");
                Console.WriteLine($"{enemy.Name} health: {enemy.Health}\n");
                if (GetAttackResult(enemy, player) == "Fight Over") // skickar in fienden först (dvs fienden attackerar)
                {
                    Console.Clear();
                    PrintDesign.WriteLineInRed("\nYou lost!");
                    Program.Exit();
                    break;
                }
            }
        }