This commit is contained in:
2020-12-16 18:04:26 -07:00
parent e335ce3c68
commit 74035a16eb
23 changed files with 4312 additions and 947 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -7,7 +7,6 @@
<e p="Bootstrapper.cs" t="Include" />
<e p="ConsoleApp.csproj" t="IncludeRecursive" />
<e p="CoreModule.cs" t="Include" />
<e p="HexPlot.py" t="Include" />
<e p="IJsonDeserializor.cs" t="Include" />
<e p="IModule.cs" t="Include" />
<e p="ISimRunner.cs" t="Include" />
@@ -51,6 +50,7 @@
<e p="SquarePath.txt" t="Include" />
<e p="SquareTest.png" t="Include" />
</e>
<e p="Output 2.zip" t="Include" />
<e p="Output.zip" t="Include" />
<e p="PathPlanners" t="Include">
<e p="IPathPlanner.cs" t="Include" />
@@ -58,6 +58,7 @@
<e p="PathPlanner.cs" t="Include" />
<e p="ReactivePathPlanner.cs" t="Include" />
</e>
<e p="plotGraphs.py" t="Include" />
<e p="Program.cs" t="Include" />
<e p="Sim" t="Include">
<e p="DetectionHead.cs" t="Include" />

View File

@@ -18,30 +18,24 @@
</component>
<component name="ChangeListManager">
<list default="true" id="dafcaeb7-80aa-43a3-a480-786fafb78c0b" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/ConsoleApp/Maps/AstarSquareSearch.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/contentModel.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/contentModel.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.RobotIntelFinal/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/HexPlot.py" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/HexPlot.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/ISimulationResults.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/ISimulationResults.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/Cell.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/Cell.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/ICell.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/ICell.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/ISquareMap.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/ISquareMap.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/MapExtensions.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/MapExtensions.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/ConsoleApp.csproj" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/ConsoleApp.csproj" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/HexPlot.py" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/plotGraphs.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/Data.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/Data.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/HexCoverage.png" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/HexCoverage.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/HexCoveredCells.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/HexCoveredCells.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/HexDetectedMines.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/HexDetectedMines.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/HexPath.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/HexPath.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/HexTest.png" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/HexTest.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/PathPlanners/IReactivePathPlanner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/PathPlanners/IReactivePathPlanner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/Mines.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/Mines.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/SquareCoverage.png" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/SquareCoverage.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/SquareCoveredCells.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/SquareCoveredCells.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/SquareDetectedMines.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/SquareDetectedMines.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/SquarePath.txt" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/SquarePath.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Output/SquareTest.png" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Output/SquareTest.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/PathPlanners/PathPlanner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/PathPlanners/PathPlanner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/PathPlanners/ReactivePathPlanner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/PathPlanners/ReactivePathPlanner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Program.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Sim/DetectionHead.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Sim/DetectionHead.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Sim/IVehicle.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Sim/IVehicle.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Sim/Vehicle.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Sim/Vehicle.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/Sim/VehicleConfiguration.json" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/Sim/VehicleConfiguration.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/SimulationResults.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/SimulationResults.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" beforeDir="false" afterPath="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -115,7 +109,6 @@
<option value="$PROJECT_DIR$/ConsoleApp/Maps/CellExtensions.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Sim/IVehicle.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/IHexMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/HexMap.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/MapFactory.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/IMapFactory.cs" />
@@ -129,7 +122,6 @@
<option value="$PROJECT_DIR$/ConsoleApp/Maps/MapExtensions.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/PathPlanners/IReactivePathPlanner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/PathPlanners/ReactivePathPlanner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Program.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/AstarSquareSearch.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/Cell.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Maps/SquareMap.cs" />
@@ -139,8 +131,10 @@
<option value="$PROJECT_DIR$/ConsoleApp/Sim/DetectionHead.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/SimRunner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/Sim/VehicleConfiguration.json" />
<option value="$PROJECT_DIR$/ConsoleApp/HexPlot.py" />
<option value="$PROJECT_DIR$/ConsoleApp/PathPlanners/PathPlanner.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/UserConsole.cs" />
<option value="$PROJECT_DIR$/ConsoleApp/HexPlot.py" />
<option value="$PROJECT_DIR$/ConsoleApp/Program.cs" />
</changedPaths>
</component>
<component name="ProjectId" id="1lIZ7IfsUjzqV2Jb1obOFvGFAfp" />
@@ -152,7 +146,7 @@
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="DebuggerViewTab_PTCS_FirstProportionKey" value="0.22377622" />
<property name="DebuggerViewTab_PTCS_FirstProportionKey" value="0.22508793" />
<property name="DebuggerViewTab_PTCS_LastProportionKey" value="0.0" />
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
@@ -220,7 +214,7 @@
<workItem from="1607983862958" duration="7777000" />
<workItem from="1607993290571" duration="88336000" />
<workItem from="1608146906461" duration="175000" />
<workItem from="1608147111263" duration="13487000" />
<workItem from="1608147111263" duration="16256000" />
</task>
<servers />
</component>

BIN
ConsoleApp/.DS_Store vendored

Binary file not shown.

View File

@@ -22,7 +22,7 @@
<None Update="Sim\VehicleConfiguration.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="HexPlot.py">
<None Update="plotGraphs.py">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>

BIN
ConsoleApp/Output 2.zip Normal file

Binary file not shown.

BIN
ConsoleApp/Output.zip Normal file

Binary file not shown.

View File

@@ -1,14 +1,14 @@
General:
Total Mines: 23
Total Mines: 36
Hex:
Total Moves: 420
Bombs Found: 23
Cleared Cell Count: 2263
Uncleared Cell Count: 41
Percentage Cleared: 98.22048611111111
Total Moves: 687
Bombs Found: 35
Cleared Cell Count: 3591
Uncleared Cell Count: 9
Percentage Cleared: 99.75
Square:
Total Moves: 553
Bombs Found: 20
Cleared Cell Count: 1996
Uncleared Cell Count: 308
Percentage Cleared: 86.63194444444444
Total Moves: 1045
Bombs Found: 34
Cleared Cell Count: 3251
Uncleared Cell Count: 349
Percentage Cleared: 90.30555555555554

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 24 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +1,35 @@
39 7
17 8
12 11
5 10
12 14
16 20
27 14
31 20
32 14
35 25
33 22
21 19
20 21
15 23
9 29
34 26
37 26
35 37
35 36
34 36
29 38
10 36
20 42
48 7
47 13
35 8
12 8
5 18
31 14
28 20
36 14
37 12
42 18
49 16
45 23
42 23
49 27
42 29
6 22
10 28
9 31
19 27
54 29
16 39
10 34
26 40
33 42
50 42
52 53
45 48
38 48
36 51
34 51
29 54
30 50
27 54
26 49
12 49

View File

@@ -46,32 +46,59 @@
45 0
46 0
47 0
47 1
47 2
47 3
47 4
47 5
47 6
47 7
46 7
48 0
49 0
50 0
51 0
52 0
53 0
54 0
55 0
56 0
57 0
58 0
59 0
59 1
59 2
59 3
59 4
59 5
59 6
59 7
58 7
57 7
56 7
55 7
54 7
53 7
52 7
51 7
51 7
51 7
51 8
50 9
50 10
49 10
48 10
47 10
46 9
46 8
45 7
44 7
43 7
42 7
42 7
42 7
42 8
41 9
41 10
40 10
39 10
38 10
37 9
37 8
36 7
35 7
34 7
33 7
41 7
40 7
39 7
38 7
37 7
37 7
37 6
36 5
35 5
34 5
33 5
33 6
32 7
31 7
30 7
@@ -86,18 +113,18 @@
21 7
20 7
19 7
19 7
19 6
18 5
17 5
16 5
15 5
15 6
18 7
17 7
16 7
15 7
14 7
13 7
12 7
11 7
10 7
14 7
14 6
13 5
12 5
11 5
10 5
10 6
9 7
8 7
7 7
@@ -124,16 +151,11 @@
7 14
8 14
9 14
9 14
9 14
9 15
10 16
10 17
11 17
12 17
13 17
14 16
14 15
10 14
11 14
12 14
13 14
14 14
15 14
16 14
17 14
@@ -144,27 +166,26 @@
22 14
23 14
24 14
24 14
24 14
24 15
25 16
25 17
26 17
27 17
28 17
25 14
26 14
27 14
28 14
28 14
28 14
28 15
29 16
29 16
30 16
29 17
30 17
31 17
32 17
33 17
34 16
34 15
35 14
36 14
37 14
38 14
33 17
34 17
35 17
36 17
37 17
38 16
38 15
39 14
40 14
41 14
@@ -172,72 +193,113 @@
43 14
44 14
45 14
46 14
47 14
47 15
47 16
47 17
45 14
45 15
46 16
46 17
47 18
47 19
48 19
49 19
50 19
51 18
51 17
52 16
51 15
52 14
53 14
54 14
55 14
56 14
57 14
58 14
59 14
59 15
59 16
59 17
59 18
59 19
59 20
59 21
58 21
57 21
56 21
55 21
54 21
53 21
52 21
51 21
50 21
49 21
48 21
47 21
47 21
47 20
46 20
45 20
46 20
47 20
47 21
46 21
45 21
44 21
43 21
42 21
41 21
40 21
39 21
48 22
48 23
48 24
47 25
47 26
46 26
45 26
44 26
43 26
42 26
41 26
40 25
40 24
39 23
39 22
38 21
37 21
36 21
35 21
35 21
35 20
34 19
33 19
33 18
32 17
31 17
30 17
29 17
29 18
28 19
28 20
28 21
27 21
26 21
34 21
33 21
32 21
31 21
30 21
30 21
30 22
29 23
28 23
27 23
26 23
26 22
25 21
24 21
23 21
23 21
23 22
22 23
22 24
21 24
20 24
19 24
18 24
17 25
17 26
16 26
15 26
14 26
13 25
13 24
12 23
12 22
22 21
21 21
20 21
19 21
18 21
17 21
16 21
15 21
14 21
13 21
12 21
11 21
10 21
9 21
8 21
7 21
6 21
5 21
4 21
3 21
8 21
9 22
8 23
8 24
7 25
6 25
5 25
4 25
4 24
3 23
3 22
2 21
1 21
0 21
@@ -258,20 +320,24 @@
7 28
7 27
8 26
9 26
10 26
11 26
11 27
12 28
8 25
9 25
10 25
11 25
12 26
12 27
13 28
14 28
15 28
16 28
17 28
18 28
19 28
20 28
21 28
17 28
17 29
18 30
19 30
20 30
21 30
21 29
22 28
23 28
24 28
@@ -283,29 +349,59 @@
30 28
31 28
32 28
32 28
32 29
33 29
34 29
35 29
36 29
37 29
38 29
33 28
34 28
35 28
36 28
37 28
38 28
39 28
40 28
41 28
42 28
43 28
44 28
40 28
40 27
41 26
42 26
43 26
44 26
44 27
45 28
46 28
47 28
47 28
47 29
47 30
47 31
47 32
47 33
47 34
48 30
49 30
50 30
51 30
51 29
52 28
52 27
53 26
54 26
55 26
56 26
56 27
57 28
58 28
59 28
59 29
59 30
59 31
59 32
59 33
59 34
59 35
58 35
57 35
56 35
55 35
54 35
53 35
52 35
51 35
50 35
49 35
48 35
47 35
46 35
45 35
@@ -317,13 +413,11 @@
39 35
38 35
37 35
37 34
36 33
35 33
34 33
33 33
32 33
32 34
36 35
35 35
34 35
33 35
32 35
31 35
30 35
29 35
@@ -345,12 +439,12 @@
13 35
12 35
12 35
12 34
11 33
10 33
9 33
8 33
8 34
12 36
11 37
10 37
9 37
8 37
8 36
7 35
6 35
5 35
@@ -383,29 +477,31 @@
15 42
16 42
17 42
17 42
17 42
17 43
18 44
18 45
19 45
20 45
21 45
22 44
22 43
18 42
19 42
20 42
21 42
22 42
23 42
24 42
25 42
26 42
27 42
24 42
24 43
25 43
26 43
27 43
28 42
29 42
30 42
31 42
32 42
33 42
34 42
35 42
30 42
30 42
30 43
31 44
31 45
32 45
33 45
34 45
35 44
35 43
36 42
37 42
38 42
@@ -418,3 +514,174 @@
45 42
46 42
47 42
47 42
47 42
47 43
48 44
48 45
49 45
50 45
51 45
52 44
52 43
53 42
54 42
55 42
56 42
57 42
58 42
59 42
59 43
59 44
59 45
59 46
59 47
59 48
59 49
58 49
57 49
56 49
55 49
54 49
53 49
52 49
51 49
50 49
49 49
48 49
47 49
47 49
47 50
46 51
45 51
44 51
43 51
43 50
42 49
41 49
40 49
40 49
40 50
39 51
39 52
38 53
38 54
37 54
36 54
35 54
34 54
33 54
32 53
32 54
31 55
31 56
30 57
29 57
28 57
27 57
26 57
25 57
25 56
24 55
24 54
24 53
24 52
23 51
23 50
23 49
22 49
21 49
20 49
19 49
18 49
17 49
16 49
15 49
15 49
15 49
15 50
14 51
14 52
13 52
12 52
11 52
10 51
10 50
9 49
8 49
7 49
6 49
5 49
4 49
3 49
2 49
1 49
0 49
1 50
1 51
2 52
1 53
1 54
0 55
0 56
1 56
2 56
3 56
4 56
5 56
6 56
7 56
8 56
9 56
10 56
11 56
12 56
13 56
14 56
15 56
16 56
17 56
18 56
19 56
20 56
21 56
22 56
23 56
24 56
25 56
25 56
25 57
26 57
27 57
28 57
29 57
30 57
31 56
32 56
33 56
34 56
35 56
36 56
37 56
38 56
39 56
40 56
41 56
42 56
43 56
44 56
45 56
46 56
47 56
48 56
49 56
50 56
51 56
52 56
53 56
54 56
55 56
56 56
57 56
58 56
59 56

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,23 +1,36 @@
32 14
20 42
27 14
12 14
34 26
9 29
10 36
31 20
34 36
15 23
5 10
33 22
35 37
16 20
37 26
12 11
39 7
29 38
35 36
20 21
21 19
35 25
17 8
30 50
48 7
16 39
42 18
47 13
50 42
52 53
49 16
36 14
54 29
6 22
26 49
28 20
10 34
27 54
49 27
35 8
26 40
38 48
10 28
12 8
5 18
42 23
45 23
42 29
36 51
37 12
29 54
34 51
33 12
45 48
19 27
12 49
31 14
33 42
9 31

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,34 @@
39 7
17 8
12 11
5 10
12 14
16 20
15 23
9 29
10 36
20 21
21 19
27 14
31 20
33 22
34 26
37 26
35 25
20 42
35 37
29 38
48 7
47 13
49 16
35 8
12 8
31 14
28 20
36 14
42 18
42 23
42 29
49 27
54 29
45 23
6 22
5 18
9 31
10 28
10 34
16 39
19 27
26 40
33 42
38 48
34 51
36 51
30 50
26 49
27 54
29 54
45 48
52 53
50 42
12 49

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -42,9 +42,9 @@ namespace ConsoleApp.PathPlanners
path.AddRange(
map.GetShortestPath(
currentPostion,
map.GetCell(currentPostion.X, currentPostion.Y + vehicle.DetectorRadius * 2 - 1)));
map.GetCell(currentPostion.X, currentPostion.Y + (vehicle.DetectorRadius * 2) - 1)));
currentPostion = new Cell(currentPostion.X, currentPostion.Y + (vehicle.DetectorRadius * 2 - 1));
currentPostion = new Cell(currentPostion.X, currentPostion.Y + (vehicle.DetectorRadius * 2) -1);
if (currentHeading == GlobalDirection.East)
currentHeading = GlobalDirection.West;
else

View File

@@ -27,19 +27,10 @@ namespace ConsoleApp
private static void Initialization()
{
_userConsole.PrintStartMenu();
var input = UserConsole.GetUserInput();
if (input == "1")
{
var (x,y) = _userConsole.GetMapDimensions();
var minePercentage = UserConsole.GetMinePercentage();
RunSimulation(x, y, minePercentage);
}
else
{
UserConsole.PrintInvalidInput();
Initialization();
}
var (x,y) = _userConsole.GetMapDimensions();
var minePercentage = 1;
RunSimulation(x, y, minePercentage);
}
private static void RunSimulation(int x, int y, double minePercentage)
@@ -53,7 +44,7 @@ namespace ConsoleApp
private static void GenerateImages()
{
var file = Path.Combine("./",Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"HexPlot.py");
var file = Path.Combine("./",Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"plotGraphs.py");
ProcessStartInfo startInfo = new ProcessStartInfo()
{
FileName = "python3",

View File

@@ -24,18 +24,18 @@ namespace ConsoleApp
public (int width, int height) GetMapDimensions()
{
Console.WriteLine($"Enter map width: ");
Console.WriteLine($"Enter map width (5-15) meters: ");
var x = GetUserInput();
if (!int.TryParse(x, out var width))
if (!int.TryParse(x, out var width) && width >= 5 && width <= 15)
{
PrintInvalidInput();
GetMapDimensions();
}
Console.WriteLine($"Enter map height: ");
Console.WriteLine($"Enter map height (5-15) meters: ");
var y = GetUserInput();
if (int.TryParse(y, out var height)) return (width, height);
if (int.TryParse(y, out var height) && height >= 5 && height <= 15) return (width, height);
PrintInvalidInput();
GetMapDimensions();
return (width, height);

View File

@@ -68,10 +68,9 @@ if __name__ == "__main__":
yf.append(int(y))
fig = plt.figure(1)
plt.plot(xc, yc)
plt.plot(xc, yc, 'o', label='vehicle', color='blue')
plt.plot(xm, ym, 'o', label='all mines', color='red')
plt.plot(xf, yf, 'o', label='detected mines', color='orange')
plt.plot(xc, yc, 'h', label='vehicle', color='blue', linestyle='None')
plt.plot(xm, ym, 'h', label='all mines', color='red', linestyle='None')
plt.plot(xf, yf, 'h', label='detected mines', color='orange', linestyle='None')
plt.title('Hex Simulation')
plt.legend(loc='lower left', fontsize='xx-small')
matplotlib.pyplot.savefig('/Users/brady.bodily/Documents/Repositories/CS5890_Robot_Intelligence/RobotIntelFinal/ConsoleApp/Output/HexTest.png')
@@ -80,10 +79,9 @@ if __name__ == "__main__":
plt.close(fig)
fig = plt.figure(2)
plt.plot(sxc, syc)
plt.plot(sxc, syc, 'o', label='vehicle', color='blue')
plt.plot(sxm, sym, 'o', label='all mines', color='red')
plt.plot(sxf, syf, 'o', label='detected mines', color='orange')
plt.plot(sxc, syc, 's', label='vehicle', color='blue', linestyle='None')
plt.plot(sxm, sym, 's', label='all mines', color='red', linestyle='None')
plt.plot(sxf, syf, 's', label='detected mines', color='orange', linestyle='None')
plt.title('Square Simulation')
plt.legend(loc='lower left', fontsize='xx-small')
matplotlib.pyplot.savefig('/Users/brady.bodily/Documents/Repositories/CS5890_Robot_Intelligence/RobotIntelFinal/ConsoleApp/Output/SquareTest.png')
@@ -91,8 +89,8 @@ if __name__ == "__main__":
plt.close(fig)
fig = plt.figure(3)
plt.plot(hccx, hccy, 'o', label='covered cells', color='red')
plt.plot(xf, xy, 'o', label='detected mines', color='blue')
plt.plot(hccx, hccy, 'h', label='covered cells', color='red', linestyle='None')
plt.plot(xf, yf, 'h', label='detected mines', color='blue', linestyle='None')
plt.title('Hex Coverage')
plt.legend(loc='lower left', fontsize='xx-small')
matplotlib.pyplot.savefig('/Users/brady.bodily/Documents/Repositories/CS5890_Robot_Intelligence/RobotIntelFinal/ConsoleApp/Output/HexCoverage.png')
@@ -100,8 +98,8 @@ if __name__ == "__main__":
plt.close(fig)
fig = plt.figure(4)
plt.plot(sccx, sccy, 'o', label='covered cells', color='red')
plt.plot(sxf, syf, 'o', label='detected mines', color='blue')
plt.plot(sccx, sccy, 's', label='covered cells', color='red', linestyle='None')
plt.plot(sxf, syf, 's', label='detected mines', color='blue', linestyle='None')
plt.title('Square Coverage')
plt.legend(loc='lower left', fontsize='xx-small')
matplotlib.pyplot.savefig('/Users/brady.bodily/Documents/Repositories/CS5890_Robot_Intelligence/RobotIntelFinal/ConsoleApp/Output/SquareCoverage.png')