-
Notifications
You must be signed in to change notification settings - Fork 0
/
Base.cs
45 lines (40 loc) · 1.59 KB
/
Base.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.IO;
using System.Threading;
using BOT;
using MazeCell;
using MazeGrid;
using MazeSidewinder;
using MazeBinaryTree;
using MazeDistancesGrid;
using Cell = BOT.Cell;
namespace DefaultNamespace
{
class Progarm
{
public static void Main(string[] args)
{
var longestGrid = new DistanceGrid(10, 10);
// BinaryTree.Maze(longestGrid);
Sidewinder.Maze(longestGrid);
var start = longestGrid[0, 0];
var distances = start.Distances;
var (newStart, distance) = distances.Max;
var newDistances = newStart.Distances;
var (goal, distance2) = newDistances.Max;
longestGrid.Distances = newDistances.PathTo(goal);
var output = longestGrid.ToUgly(goal);
Console.WriteLine(output);
Console.WriteLine("The exit cell(and the farthest from the start) coordinates: x=" + goal.Column + " y=" + goal.Row);
TextWriter ts = new StreamWriter(@"C:\1.txt");
ts.Write(output);
ts.Close();
var robot = new Robot {Location = new Point {X = newStart.Column, Y = newStart.Row}};
var robot2 = new Robot2 {Location = new Point {X = newStart.Column, Y = newStart.Row}};
var robot3 = new Robot3 {Location = new Point {X = newStart.Column, Y = newStart.Row}};
var maze = Maze.Load(@"C:\1.txt");
var ai = new AI {Robot2 = robot2, Maze = maze,Robot = robot, Robot3 = robot3};
ai.StartBot(ai);
}
}
}