public IOrder GetOrder(Sensor sensor) { _turn++; //Hvis det en lige tur scan if (_turn % 2 == 0) { return(new SonorScan()); } if (sensor.ScannedArea.Targets.Any()) { IOrder fireOrder = new FireTorpedo(sensor.ScannedArea.Targets.First().RelativeCoordinates); return(fireOrder); } if (sensor.Infront.Type == TerrainType.Land || sensor.Infront.Type == TerrainType.Edge) { return(Rotate()); } if (Rnd.Next(1, 100) > 65) { return(Rotate()); } return(new Move()); }
private IOrder getRandomOrder() { IOrder order; int rndInt = _random.Next(1, 4); switch (rndInt) { case 1: order = new Move(); break; case 2: order = new Rotate(getDirection()); break; case 3: order = new FireTorpedo(getCoordinates(), CoordinateType.Relative); break; default: throw new Exception("not a valid direction"); } return(order); }
public void Setup() { MockMap = new Mock <IMap>(); MockUnit = new Mock <IUnit>(); MockUnits = new Mock <List <IUnit> >(); sut = new FireTorpedo(new Tuple <int, int>(0, 0)); }
public void Setup() { MockMap = new Mock <IMap>(); MockUnit = new Mock <IUnit>(); MockUnits = new Mock <List <IUnit> >(); MockRandom = new Mock <Random>(); sut = new FireTorpedo(new Tuple <int, int>(0, 0), CoordinateType.Relative); }