Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Random         Game_God    = new Random();
            Mob_Program    mob_data    = new Mob_Program();
            Weapon_Program weapon_data = new Weapon_Program();
            Armor_Program  armor_data  = new Armor_Program();
            Potion         new_potion  = new Potion("Зiлля здоров'я", 5);

            karta mappa = new karta();

            mappa.map_generate();
            mappa.map_load();
            mappa.map_show();
            mappa.map_save();

            Player player = new Player("Геральт");

            player.load_player();

            Console.WriteLine();
            Console.WriteLine($"{player.Name}");
            Console.WriteLine($"{player.HP}");
            Console.WriteLine($"{player.current_weapon.name}");
            Console.WriteLine($"{player.current_armor.name}");
            Console.WriteLine();

            Weapon weapon1 = weapon_data.weapon_creation()[Game_God.Next(0, 5)];
            Armor  armor1  = armor_data.armor_creation()[Game_God.Next(0, 5)];

            player.use(weapon1);
            player.use(armor1);

            Console.WriteLine($"{player.Name}");
            Console.WriteLine($"{player.current_weapon.name}");
            Console.WriteLine($"{player.current_armor.name}");
            Console.WriteLine();

            Mob mob1 = mob_data.mob_creation()[Game_God.Next(0, 5)];

            Console.WriteLine($"{player.Name} атакує {mob1.Name}\n");
            List <string> history1 = FightEngine.InitializeFight(player, mob1);

            foreach (var line in history1)
            {
                Console.WriteLine(line);
            }
            Console.WriteLine();

            Console.WriteLine($"У {player.Name} залишилося {player.HP} здоров'я");
            Console.WriteLine(new_potion.Description());
            player.use(new_potion);
            Console.WriteLine($"У {player.Name} залишилося {player.HP} здоров'я\n");
            player.save_player();
        }
Exemplo n.º 2
0
        public void map_generate()
        {
            Random      rand     = new Random();
            Mob_Program mob_data = new Mob_Program();
            //Weapon_Program weapon_data = new Weapon_Program();
            //Armor_Program armor_data = new Armor_Program();
            //Potion new_potion = new Potion("Зелье здоровья", 5);
            int x = rand.Next(4, 19);
            int y = rand.Next(4, 19);

            for (int i = 0; i < 25; i++)
            {
                for (int j = 0; j < 25; j++)
                {
                    if (Math.Sqrt(Math.Pow(i - x, 2) + Math.Pow(j - y, 2)) <= 3)
                    {
                        switch (rand.Next(1, 5))
                        {
                        case 1:
                        case 2:
                        case 3:
                            this.kart[i, j] = new cell("Гори", "^", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;

                        case 4:
                            this.kart[i, j] = new cell("Ліс", "*", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;
                        }
                    }
                    else if (Math.Sqrt(Math.Pow(i - x, 2) + Math.Pow(j - y, 2)) <= 6)
                    {
                        switch (rand.Next(1, 5))
                        {
                        case 1:
                        case 2:
                        case 3:
                            this.kart[i, j] = new cell("Ліс", "*", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;

                        case 4:
                            this.kart[i, j] = new cell("Рівнина", "#", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;
                        }
                    }
                    else if (Math.Sqrt(Math.Pow(i - x, 2) + Math.Pow(j - y, 2)) <= 15)
                    {
                        switch (rand.Next(1, 5))
                        {
                        case 1:
                        case 2:
                        case 3:
                            this.kart[i, j] = new cell("Рівнина", "#", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;

                        case 4:
                            this.kart[i, j] = new cell("Пустеля", ".", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;
                        }
                    }
                    else if (Math.Sqrt(Math.Pow(i - x, 2) + Math.Pow(j - y, 2)) <= 20)
                    {
                        switch (rand.Next(1, 5))
                        {
                        case 1:
                        case 2:
                        case 3:
                            this.kart[i, j] = new cell("Пустеля", ".", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;

                        case 4:
                            this.kart[i, j] = new cell("Водойма", "~", mob_data.mob_creation()[rand.Next(0, 5)]);
                            break;
                        }
                    }
                    else
                    {
                        this.kart[i, j] = new cell("Водойма", "~", mob_data.mob_creation()[rand.Next(0, 5)]);
                    }
                }
            }
        }