public static Map BuildMap(this PositionSensorsData positionSensorsData) { var map = new Map(positionSensorsData); map.AvailableDirectionsByCoordinates = GetAvailableDirections(map.Walls); return(map); }
public void Update(PositionSensorsData data) { CurrentPosition = data.Position.PositionsData[RobotId]; OpponentPosition = data.Position.PositionsData[OpponentRobotId]; Details = data.MapSensor.MapItems.Where(x => x.Tag.Contains("Detail")).Select(x => new StarshipObject { DiscreteCoordinate = GetDiscretePosition((int)x.X, (int)x.Y), AbsoluteCoordinate = new Point((int)x.X, (int)x.Y), Type = x.Tag }).ToArray(); Walls = data.MapSensor.MapItems.Where(IsWall).Select(w => new StarshipObject { DiscreteCoordinate = GetDiscretePosition((int)w.X, (int)w.Y), AbsoluteCoordinate = new Point((int)w.X, (int)w.Y), Type = w.Tag }).ToArray(); }
private void Init(PositionSensorsData data) { RobotId = data.RobotId.Id; OpponentRobotId = RobotId == 0 ? 1 : 0; }
public Map(PositionSensorsData data) { Init(data); Update(data); }
public void Update(PositionSensorsData sensorData) { map.Update(sensorData); realRobotAngle = map.CurrentPosition.Angle; }