public string poisonAttack() { float _hp = target.getHp()[0]; target.takeDamage(damage); return(target.name + " получил " + (_hp - target.getHp()[0]) + " урона(" + type + ")"); }
public string attack(Creature enemy) //Желательно переделать в виртуальный метод, и для каждого класса существ переопределять отдельно { target = enemy; if (target != null) { if (target.isAlive()) { //isInBattle = true; float _enemy_hp = target.getHp()[0]; //нужно для расчёта нанесённого урона target.takeDamage(damage); if (!target.isAlive()) { string _enemy_name = target.name; addExp((int)target.maxhp); target.Die(); target = null; //isInBattle = false; return(name + " убил " + _enemy_name); } else { return(name + " нанёс " + Convert.ToInt32(_enemy_hp - target.hp) + " урона по " + target.name); } } else { return(target.name + " уже мёртв"); } } else { return("Цель отсутствует"); } }
public static void updateUI(Creature hero, string action) { Console.Clear(); Console.SetCursorPosition(0, 0); Console.Write(String.Format("HP: {0}/{6} MANA: {7}/{8} LVL: {1} EXP: {2}/{3} POS: [{4},{5}]", hero.getHp() [0], hero.lvl, hero.exp, hero.exp_to_lvl, hero.getLocation().x, hero.getLocation().y, hero.getHp() [1], hero.mana, hero.maxmana)); switch (action) { case "LocationInfo": drawLocationInfo(hero); break; case "ChoiceDirection": choiceDirection(); break; case "FightInfo": drawFightInfo(hero); break; case "ChoiceItemToPick": choiceItemToPick(hero); break; case "Inventory": drawInventory(hero); break; case "SelectTarget": drawSelectTarget(hero); break; case "drawHeroStats": drawHeroStats(hero); break; } Console.SetCursorPosition(0, 4); Console.Write(getLog()); }