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; } } }
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); }
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; } }
public void Awake() { if (get == null) { get = this; } else { if (get != this) { Destroy(this); } } }
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); } }
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()); } }
/// <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(); } }
/// <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)); }