public userMapClass(int minimumWidth, int maximumWidth, int minumumHeight, int maximumHeight, int numberOfEnemies, int numberOfGold) { this.width = rnd.Next(minimumWidth, maximumWidth + 1); this.height = rnd.Next(minumumHeight, maximumHeight + 1); this.map = new userTileClass[height, width]; int max_num_enemies = ((width - 2) * (height - 2)) - 1; if (numberOfEnemies > max_num_enemies) { numberOfEnemies = max_num_enemies; } this.userEnemies = new EnemyClass[numberOfEnemies]; createAnEmptyMap(); this.hero = (HeroClass)create(userTileClass.tileType.Hero); map[hero.getY(), hero.getX()] = hero; for (int i = 0; i < userEnemies.Length; ++i) { userEnemies[i] = (EnemyClass)create(userTileClass.tileType.Enemy); map[userEnemies[i].getY(), userEnemies[i].getX()] = userEnemies[i]; } int maximumAmountOfGold = ((width - 2) * (height - 2)) - 1 - userEnemies.Length; if (numberOfGold > maximumAmountOfGold) { numberOfGold = maximumAmountOfGold; } this.items = new ItemClass[numberOfGold]; for (int i = 0; i < items.Length; ++i) { items[i] = (GoldClass)create(userTileClass.tileType.Gold); map[items[i].getY(), items[i].getX()] = items[i]; } updateVision(); }
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"); } }
public void givenHero(HeroClass hero) { this.hero = hero; }