コード例 #1
0
ファイル: WeightedMetric.cs プロジェクト: xoposhiy/icfpc2015
 public static OracleSuggestion Evaluate(this IEnumerable<WeightedMetric> metrics, Map before, OracleSuggestion suggestions)
 {
     var unit = new PositionedUnit(before.Unit.Unit, suggestions.Position);
     var after = before.TeleportUnit(suggestions.Position).LockUnit();
     return new OracleSuggestion(
         suggestions.Position,
         suggestions.LockingDirection,
         after,
         metrics.Evaluate(before, after, unit));
 }
コード例 #2
0
ファイル: Solver.cs プロジェクト: xoposhiy/icfpc2015
 private IEnumerable<Directions> GetPath(Map map, OracleSuggestion s)
 {
     return Finder.GetSpellLengthAndPath(map, s.Position).Item2.Concat(new[] { s.LockingDirection });
 }