public PlayerCombatResult SimulatePlayerCombat() { unit1 = player1Units.RandomlySelectUnit(); unit2 = player2Units.RandomlySelectUnit(); // while both players have units while (unit1 != null && unit2 != null) { UnitCombatResult unitResult = SimulateUnitCombat(); ReinforceBattle(unitResult); } if (unit1 == null && unit2 == null) { return(PlayerCombatResult.DRAW); } else if (unit1 == null) { // ADD unit2 back to player2units! player2Units.AddUnit(unit2.unitType); return(PlayerCombatResult.PLAYER2_WIN); } else { // ADD unit1 back to player2units! player1Units.AddUnit(unit1.unitType); return(PlayerCombatResult.PLAYER1_WIN); } }
public void ReinforceBattle(UnitCombatResult unitCombatResult) { if (unitCombatResult == UnitCombatResult.UNIT1_DEAD || unitCombatResult == UnitCombatResult.BOTH_DEAD) { unit1 = player1Units.RandomlySelectUnit(); } if (unitCombatResult == UnitCombatResult.UNIT2_DEAD || unitCombatResult == UnitCombatResult.BOTH_DEAD) { unit2 = player2Units.RandomlySelectUnit(); } }