Exemplo n.º 1
0
 public static void SaveGame(MilitaryBase m)
 {
     fs        = new FileStream(@"save.dat", FileMode.Create);
     formatter = new BinaryFormatter();
     formatter.Serialize(fs, m);
     fs.Close();
 }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            MilitaryBase myBase = new MilitaryBase();
            MilitaryBase enemy;
            War          war;

            Console.WriteLine("Добро пожаловать в военную стратегию \"Iron War\"");

            int newOrOld = Game.NewOrOldGame();

            switch (newOrOld)
            {
            case 1:
                Console.WriteLine("Введите название вашей военной базы");
                myBase.Name = Console.ReadLine();
                break;

            case 2:
                myBase = Game.LoadGame();
                break;
            }

            enemy = Game.AutoCreateBase();
            Game.CreateArmy(myBase);
            war = new War(myBase, enemy);
            war.FindWinner();
        }
Exemplo n.º 3
0
 public static void WriteAllInfoCity(MilitaryBase m)
 {
     Console.WriteLine("__________________________________________________________________________________");
     Console.WriteLine($"За {m.CountOfMonth}-й месяц: Добыли Золота: {m.NewGold}, добыли Еды: {m.NewFood}, Потратили еды: {m.SpentFood}, Потратили золота: {m.SpentGold}");
     Console.WriteLine($"Погибло собратьев: {m.DeadPeople} чел, Прибыло подкрепление: {m.NewPeople} чел.");
     Console.WriteLine("Всего: Золота: {0}, Еды: {1}, Рабочих: {2}, Солдат: {3}, Танков: {4} (Танкисты: {5} чел.)", m.Gold, m.Food, m.Workers.Count, m.Soldiers.Count, m.Tanks.Count, m.Tanks.Count * 5);
     Console.WriteLine("__________________________________________________________________________________");
 }
Exemplo n.º 4
0
 public static void Rule(MilitaryBase m)
 {
     Console.WriteLine("У вас есть пол года на подготовку своей армии.");
     Console.WriteLine("Добывайте золото, еду, содавайте профессиональную армию и в бой!");
     Console.WriteLine("Игра сохраняется автоматически, вы всегда сможете продолжить игру позже.");
     Console.WriteLine("__________________________________________________________________________________");
     Console.WriteLine("На старте у вас есть:");
     Console.WriteLine("Золото: {0}, Еды: {1}, Рабочих: {2}, Солдат: {3}, Танков: {4} (Танкисты: {5} чел.)", m.Gold, m.Food, m.Workers.Count, m.Soldiers.Count, m.Tanks.Count, m.Tanks.Count * 5);
     Console.WriteLine("__________________________________________________________________________________");
 }
Exemplo n.º 5
0
 public static void CreateArmy(MilitaryBase mb)
 {
     m = mb;
     Info.Rule(m);
     while (m.CountOfMonth < 7)
     {
         Event += new EventHandler(Accident.TryGetSomeAccident);
         SetSoldiersAndWorkers();
         MineGoldAndFood();
         MakeTanks();
         PeopleEat();
         Info.WriteAllInfoCity(m);
         m.CountOfMonth++;
         SaveGame(m);
     }
 }
Exemplo n.º 6
0
 public static MilitaryBase LoadGame()
 {
     try
     {
         fs = new FileStream(@"save.dat", FileMode.Open);
         m  = (MilitaryBase)formatter.Deserialize(fs);
         fs.Close();
     }
     catch (Exception)
     {
         Console.WriteLine("Нет сохранений игры. Игра начнется заново.");
         Console.WriteLine("Введите название вашей военной базы");
         m      = new MilitaryBase();
         m.Name = Console.ReadLine();
     }
     return(m);
 }
Exemplo n.º 7
0
        public static void TryGetSomeAccident(Object m, EventArgs e)
        {
            if (m is MilitaryBase)
            {
                mb = (MilitaryBase)m;
                switch (Game.random.Next(30))
                {
                case 1:
                    Console.WriteLine("Произошел взрыв на шахте!!!Мы потеряли 20% золота!!!");
                    mb.Gold -= ((mb.Gold * 20) / 100);
                    break;

                case 2:
                    Console.WriteLine("На складе с провизией появились крысы!!! Пропало 10% нашей еды!!!");
                    mb.Food -= ((mb.Food * 10) / 100);
                    break;
                }
            }
        }
Exemplo n.º 8
0
        public static MilitaryBase AutoCreateBase() // генерирует базу с солдатами и танками
        {
            MilitaryBase enemy = new MilitaryBase();

            enemy.Name = "Nord";
            Soldier[] soldiers        = new Soldier[5];
            int       countOfsoldiers = Game.random.Next(20, 40);
            int       countOfTanks    = Game.random.Next(20, 30);

            for (int i = 1; i <= countOfsoldiers; i++)                         //добавляем солдат
            {
                enemy.Soldiers.Add(new Soldier("Вражеский cолдат_" + i));
            }

            for (int i = 1; i <= countOfTanks; i++)
            {
                for (int a = 0; a < 5; a++)
                {
                    soldiers[a] = new Soldier("Вражеский cолдат_" + i);
                }
                enemy.Tanks.Add(new Tank(i, soldiers));
            }
            return(enemy);
        }
Exemplo n.º 9
0
 public War(MilitaryBase mb1, MilitaryBase mb2)
 {
     this.mb1 = mb1;
     this.mb2 = mb2;
 }