예제 #1
0
파일: Map.cs 프로젝트: DmitryZyr/CVARC
 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();
 }
예제 #2
0
파일: Map.cs 프로젝트: DmitryZyr/CVARC
 public Map(PositionSensorsData data)
 {
     Init(data);
     Update(data);
 }
예제 #3
0
파일: Map.cs 프로젝트: DmitryZyr/CVARC
 private void Init(PositionSensorsData data)
 {
     RobotId = data.RobotId.Id;
     OpponentRobotId = RobotId == 0 ? 1 : 0;
 }
예제 #4
0
 public void Update(PositionSensorsData sensorData)
 {
     map.Update(sensorData);
     realRobotAngle = map.CurrentPosition.Angle;
 }