public String attackEnemy(CharacterClass.Movement move) { HeroClass h = map.provideHero(); userTileClass target = new emptyUserTileClass(0, 0); switch (move) { case CharacterClass.Movement.MoveUp: target = map.provideMap()[h.getY() - 1, h.getX()]; break; case CharacterClass.Movement.MoveDown: target = map.provideMap()[h.getY() + 1, h.getX()]; break; case CharacterClass.Movement.MoveLeft: target = map.provideMap()[h.getY(), h.getX() - 1]; break; case CharacterClass.Movement.MoveRight: target = map.provideMap()[h.getY(), h.getX() + 1]; break; } if (target is EnemyClass) { h.Attack((CharacterClass)target); CharacterClass c_target = (CharacterClass)target; if (c_target.died()) { map.MapRemoval(c_target); } movementOfEnemies(); if (!c_target.died()) { return("1" + c_target.ToString()); } else { return("The enemy has died"); } } else { return("0"); } }
private void createAnEmptyMap() { for (int i = 0; i < height; ++i) { for (int j = 0; j < width; ++j) { if (i == 0 || i == (height - 1)) { map[i, j] = new userObstacleClass(i, j); } else if (j == 0 || j == (width - 1)) { map[i, j] = new userObstacleClass(i, j); } else { map[i, j] = new emptyUserTileClass(i, j); } } } }
public string userAttacksEnemy(CharacterClass h, CharacterClass.Movement dir, userTileClass t) { userTileClass target = new emptyUserTileClass(0, 0); switch (dir) { case CharacterClass.Movement.MoveUp: target = map.provideMap()[h.getY() - 1, h.getX()]; break; case CharacterClass.Movement.MoveDown: target = map.provideMap()[h.getY() + 1, h.getX()]; break; case CharacterClass.Movement.MoveLeft: target = map.provideMap()[h.getY(), h.getX() - 1]; break; case CharacterClass.Movement.MoveRight: target = map.provideMap()[h.getY(), h.getX() + 1]; break; default: target = t; break; } if ((h is HeroClass && target is EnemyClass && !h.died()) || (h is GoblinClass && target is HeroClass) || (h is MagesClass && target is CharacterClass)) { h.Attack((CharacterClass)target); CharacterClass c_target = (CharacterClass)target; if (c_target.died()) { map.MapRemoval(c_target); } if (h is HeroClass) { enemyAttackedUser(); if (!c_target.died()) { return("1" + c_target.ToString()); } else { return("The enemy is dead"); } } else { return(""); } } else { return("0"); } }