public Mob GenerateOne() { // completely unbiased. YOU WILL GET THE WORST MOBS ANYWAY var template = GenGod.SelectOne(_templates); var health = new Dice(template.HealthDice); var attack = new Dice(template.AttackDice); var defense = new Dice(template.DefenseDice); return(new Mob(_level, _grid, template, health.Roll(), attack.Roll(), defense.Roll())); }
public Player PopulateLevel() { var player = new Player(_level, _grid); var position = _level.GetWalkablePoint(); player.Place(position.X, position.Y); // generate mobs var count = GenGod.GenOne(7, 10); while (count-- > 0) { PlaceOne(); } return(player); }
public void MoveRandomly() { var directions = new[] { Direction.Up, Direction.Down, Direction.Left, Direction.Right, Direction.UpRight, Direction.UpLeft, Direction.DownLeft, Direction.DownRight }; Direction direction; do { direction = GenGod.SelectOne(directions); } while (Move(direction) == MoveResult.Blocked); }
public int Roll() { return(GenGod.RollDice(Count, Sides) + Offset); }