public void StationaryMelee() { Board board = new Board(BoardCommon.GRID_12X8); Combatant attacker = new Combatant("Attacker", board, new Point(5, 4)); Combatant defender = new Combatant("Defender", board, new Point(7, 4)); board.AddPawn(attacker); board.AddPawn(defender); attacker.Health = 10; defender.Health = 10; attacker.BaseStats = new Stats() { Attack = 10, Stamina = 10 }; MeleeAttackSkill attack = new MeleeAttackSkill(attacker, new Point[] { Point.Right, 2 * Point.Right }) { ActionPoints = 3 }; attack.SetDirection(CardinalDirection.East); attacker.AddSkill(attack); attack.Fire(); board.BeginTurn(); Assert.AreEqual(10, attacker.ActionPoints); board.Turn(); Assert.AreEqual(0, defender.Health); Assert.AreEqual(7, attacker.ActionPoints); }
public void ApproachMeleeRange() { Board board = new Board( new int[,] { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }); Combatant attacker = new Combatant("Attacker", board, new Point(1, 7)); Combatant defender = new Combatant("Defender", board, new Point(10, 1)); board.AddPawn(attacker); board.AddPawn(defender); attacker.Health = 10; defender.Health = 10; attacker.BaseStats = new Stats() { Attack = 10, Stamina = 25 }; attacker.AddPawnToView(defender); MeleeAttackSkill attack = new MeleeAttackSkill(attacker, new Point[] { Point.Right, 2 * Point.Right }) { ActionPoints = 3 }; attacker.AddSkill(attack); WalkSkill walk = new WalkSkill(attacker); attacker.AddSkill(walk); LostGen.Decision.ApproachMeleeRange approach = new LostGen.Decision.ApproachMeleeRange(attacker); approach.Target = defender; approach.Setup(); approach.Run(); board.BeginTurn(); Assert.AreEqual(25, attacker.ActionPoints); board.Turn(); Assert.AreEqual(new Point(10, 3), attacker.Position); }
private void ArrangeBoard(int[,] grid, Point start, Point end, out Board board, out Combatant pawn) { board = new Board(grid); pawn = new Combatant("Walker", board, Point.One); Stats stats = new Stats() { Stamina = 100 }; pawn.BaseStats = stats; board.AddPawn(pawn); WalkSkill walk = new WalkSkill(pawn); pawn.AddSkill(walk); walk.SetTarget(end); board.BeginTurn(); }
public Combatant CreateCombatant(Board board, Point position) { string name; if (Nickname != null && Nickname.Length > 0) { name = Nickname; } else { name = FirstName + " " + LastName; } Combatant combatant = new Combatant(name, board, position); foreach (int skillID in _skills) { ISkill skill = _skillManager.GetSkill(skillID, combatant); combatant.AddSkill(skill); } combatant.BaseStats = BaseStats; return combatant; }