Пример #1
0
        public static Map BuildMap(this PositionSensorsData positionSensorsData)
        {
            var map = new Map(positionSensorsData);

            map.AvailableDirectionsByCoordinates = GetAvailableDirections(map.Walls);
            return(map);
        }
Пример #2
0
 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();
 }
Пример #3
0
 private void Init(PositionSensorsData data)
 {
     RobotId         = data.RobotId.Id;
     OpponentRobotId = RobotId == 0 ? 1 : 0;
 }
Пример #4
0
 public Map(PositionSensorsData data)
 {
     Init(data);
     Update(data);
 }
Пример #5
0
 public void Update(PositionSensorsData sensorData)
 {
     map.Update(sensorData);
     realRobotAngle = map.CurrentPosition.Angle;
 }