コード例 #1
0
 public static void UserChoise(Army army, EnemyArmy earmy)
 {
     while (true)
     {
         Console.WriteLine("Выберите действие:");
         Console.WriteLine("1. Атаковать");
         Console.WriteLine("2. Кричать лозунги");
         Console.WriteLine("3. Позвать больше людей");
         string s   = Console.ReadLine();
         int    ans = System.Convert.ToInt32(s);
         if (ans == 1)
         {
             Console.WriteLine("Протестующие влетают в мусоров с ноги, замееееееес!");
             int punch = army.Attack(earmy.GetNumber());
             earmy.DamagePeople(punch);
             int punch2 = earmy.Attack(army.GetNumber());
             army.DamagePeople(punch2);
             Console.WriteLine("Мусора лезут в драку");
             return;
         }
         else if (ans == 2)
         {
             Console.WriteLine("Протестующие говорят мусорам где их место, вот это достойно!");
             army.Heal();
             return;
         }
         else
         {
             Console.WriteLine("Скоро нас станет ещё больше!");
             AddFriends(army);
             return;
         }
     }
 }
コード例 #2
0
ファイル: BattleScene.cs プロジェクト: atori708/SOLIDInvader
        public void Start()
        {
            debugInput.Initialize();
            testStage = new TestStage(levelData);

            bulletFactory = new BulletFactory(originalBullet, levelData);

            // プレイヤー
            playerModel = new PlayerModel(testStage.LevelData, testStage);
            playerPresenter.Initialize(playerModel, debugInput, testStage);
            playerModel.OnAttackObservable.Subscribe(attacker => {
                // 弾生成
                if (playerBullet == null)
                {
                    playerBullet = bulletFactory.CreateBullet(attacker);

                    playerBullet.OnDestroy.Subscribe(_ => {
                        playerBullet = null;
                    }).AddTo(this);
                }
            }).AddTo(this);

            // 敵
            enemyArmy = new EnemyArmy(testStage);
        }
コード例 #3
0
 public static void Soulution(Army parmy, EnemyArmy earmy)
 {
     if (parmy.Attack(earmy.GetNumber()) > earmy.Attack(parmy.GetNumber()) || parmy.GetNumber() > 0)
     {
         AddEnemies(earmy);
         Console.WriteLine("Мусора зовут подмогу");
         return;
     }
     else if (parmy.Attack(earmy.GetNumber()) / earmy.Attack(parmy.GetNumber()) > 1)
     {
         earmy.Heal();
         Console.WriteLine("Мусора кричат на людей и приказывают отступить");
         return;
     }
     else if (parmy.GetNumber() > 50 && parmy.GetNumber() < 100)
     {
         earmy.Heal();
         Console.WriteLine("Мусора кричат на людей и приказывают отступить");
         return;
     }
     else if (parmy.GetNumber() > 100 && parmy.Attack(earmy.GetNumber()) > earmy.Attack(parmy.GetNumber()))
     {
         Console.WriteLine("Мусора зовут подмогу");
         return;
     }
     else if (parmy.GetNumber() > 100)
     {
         earmy.Heal();
         Console.WriteLine("Мусора кричат на людей и приказывают отступить");
         return;
     }
     else if (parmy.GetNumber() > 200 && parmy.Attack(earmy.GetNumber()) > earmy.Attack(parmy.GetNumber()))
     {
         AddEnemies(earmy);
         Console.WriteLine("Мусора зовут подмогу");
         return;
     }
     else if (parmy.GetNumber() > 200)
     {
         int punch = earmy.Attack(parmy.GetNumber());
         parmy.DamagePeople(punch);
         Console.WriteLine("Мусора лезут в драку");
         return;
     }
     else if (parmy.GetNumber() > 300)
     {
         int punch = earmy.Attack(parmy.GetNumber());
         parmy.DamagePeople(punch);
         Console.WriteLine("Мусора лезут в драку");
         return;
     }
     else
     {
         int punch = earmy.Attack(parmy.GetNumber());
         parmy.DamagePeople(punch);
         Console.WriteLine("Мусора лезут в драку");
         return;
     }
 }
コード例 #4
0
ファイル: EnemyArmy.cs プロジェクト: EunoiaGames/MTW
 public void Awake()
 {
     if (get == null)
     {
         get = this;
     }
     else
     {
         if (get != this)
         {
             Destroy(this);
         }
     }
 }
コード例 #5
0
        static private void AddEnemies(EnemyArmy army)
        {
            string[] names = { "Инфантил", "Дурень", "Тупень", "Злютень", "Агрессор", "Клык", "Пёс", "Децл", "Лох", "Неадекват", "Пьяница", "Оборванец", "Токсик", "Болван", "Маргинал" };

            if (army.GetNumber() < 50)
            {
                OmonovecPhabric phabric = new OmonovecPhabric();
                Generate(army, phabric, names, 25);
            }
            else if (army.GetNumber() > 50)
            {
                OmonovecPhabric phabric1 = new OmonovecPhabric();
                Generate(army, phabric1, names, 10);

                YaBatskaPhabric phabric2 = new YaBatskaPhabric();
                Generate(army, phabric2, names, 5);
            }
            else if (army.GetNumber() > 80)
            {
                OmonovecPhabric phabric1 = new OmonovecPhabric();
                Generate(army, phabric1, names, 10);

                MusorokPhabric phabric2 = new MusorokPhabric();
                Generate(army, phabric2, names, 5);
            }
            else if (army.GetNumber() > 100)
            {
                OmonovecPhabric phabric1 = new OmonovecPhabric();
                Generate(army, phabric1, names, 10);

                AlmazovecPhabric phabric2 = new AlmazovecPhabric();
                Generate(army, phabric2, names, 5);
            }
            else if (army.GetNumber() > 150)
            {
                OmonovecPhabric phabric1 = new OmonovecPhabric();
                Generate(army, phabric1, names, 20);

                MVDShnikPhabric phabric = new MVDShnikPhabric();
                Generate(army, phabric, names, 5);
            }
        }
コード例 #6
0
        static void Main(string[] args)
        {
            Army      myarmy    = new Army();
            EnemyArmy enemyarmy = new EnemyArmy();

            while (true)
            {
                UserChoise(myarmy, enemyarmy);
                Soulution(myarmy, enemyarmy);
                Console.Clear();
                myarmy.CheckDefeated();
                enemyarmy.CheckDefeated();
                enemyarmy.Draw(myarmy.GetNumber());
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 200; j++)
                    {
                        Console.Write("=");
                    }
                    Console.WriteLine("");
                }
                myarmy.Draw(enemyarmy.GetNumber());
            }
        }
コード例 #7
0
        /// <summary>
        /// Funkcja obsługująca zdarzenia trwające co interwał czasu
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timerMain_Tick(object sender, EventArgs e)
        {
            timeCounter++;
            labelTime.Text = "Dzień: " + timeCounter;
            Gold          += 5;
            if (Gold >= repairCost && repairCost != 0 && !IsBattle)
            {
                buttonRepair.Enabled = true;
            }
            else
            {
                buttonRepair.Enabled = false;
            }
            if (IsBattle)
            {
                buttonShop.Enabled = false;
                PlayerArmy.Attack(EnemyArmy, random);
                EnemyArmy.Attack(PlayerArmy, random);
                buttonShowBattle.Enabled = true;
                EnemyArmy.RefreshUnitList();
                PlayerArmy.RefreshUnitList();
                ListSource.ResetBindings(false);
            }
            else
            {
                buttonShop.Enabled       = true;
                buttonShowBattle.Enabled = false;
                if (battleBreakCount > 0)
                {
                    battleBreakCount--;
                }
            }
            if (random.Next(2) == 1 && !IsBattle && battleBreakCount == 0)
            {
                EnemyArmy = new Army(timeCounter / 9);
                FormBattle formBattle = new FormBattle(this);
                formBattle.Show();
                IsBattle         = true;
                battleBreakCount = 25;
                Gold            += EnemyArmy.GetTotalArmyCost() / 3;
            }
            if (EnemyArmy != null)
            {
                if (!EnemyArmy.UnitList.Any())
                {
                    IsBattle = false;
                }

                if (!PlayerArmy.UnitList.Any())
                {
                    MessageBox.Show("PORAŻKA");
                    EndGame();
                }
            }
            labelGold.Text = "Złoto: " + Gold;
            if (timeCounter == 300)
            {
                labelScore.Text      = "Wygrana!";
                labelScore.ForeColor = Color.Khaki;
                labelScore.Visible   = true;
                EndGame();
            }
        }
コード例 #8
0
 /// <summary>
 /// Deep clone!
 /// </summary>
 /// <returns></returns>
 public object Clone()
 {
     return(new BattleData(EnemyArmy.Select(x => (Squad)x.Clone()).ToArray(),
                           AllyArmy.Select(x => (Squad)x.Clone()).ToArray(), (byte[])Map.Clone(), MapWidth));
 }