diff --git a/.gradle/5.2.1/executionHistory/executionHistory.bin b/.gradle/5.2.1/executionHistory/executionHistory.bin
index ee261d1..ec6e4f6 100644
Binary files a/.gradle/5.2.1/executionHistory/executionHistory.bin and b/.gradle/5.2.1/executionHistory/executionHistory.bin differ
diff --git a/.gradle/5.2.1/executionHistory/executionHistory.lock b/.gradle/5.2.1/executionHistory/executionHistory.lock
index e14422d..0de431c 100644
Binary files a/.gradle/5.2.1/executionHistory/executionHistory.lock and b/.gradle/5.2.1/executionHistory/executionHistory.lock differ
diff --git a/.gradle/5.2.1/fileHashes/fileHashes.bin b/.gradle/5.2.1/fileHashes/fileHashes.bin
index a59ff85..a09ee31 100644
Binary files a/.gradle/5.2.1/fileHashes/fileHashes.bin and b/.gradle/5.2.1/fileHashes/fileHashes.bin differ
diff --git a/.gradle/5.2.1/fileHashes/fileHashes.lock b/.gradle/5.2.1/fileHashes/fileHashes.lock
index 5c92709..b49c79f 100644
Binary files a/.gradle/5.2.1/fileHashes/fileHashes.lock and b/.gradle/5.2.1/fileHashes/fileHashes.lock differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 70f1009..8239321 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
index 8e887c0..7414f42 100644
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.idea/misc.xml b/.idea/misc.xml
index bc8d0a3..8ecd2fe 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,7 +1,7 @@
-
+
\ No newline at end of file
diff --git a/build/classes/kotlin/main/elite/MainKt.class b/build/classes/kotlin/main/elite/MainKt.class
index 52da6ab..525c6a5 100644
Binary files a/build/classes/kotlin/main/elite/MainKt.class and b/build/classes/kotlin/main/elite/MainKt.class differ
diff --git a/build/classes/kotlin/main/elite/algorithm/AStarMain$Companion.class b/build/classes/kotlin/main/elite/algorithm/AStarMain$Companion.class
index d92574e..8a022e1 100644
Binary files a/build/classes/kotlin/main/elite/algorithm/AStarMain$Companion.class and b/build/classes/kotlin/main/elite/algorithm/AStarMain$Companion.class differ
diff --git a/build/classes/kotlin/main/elite/algorithm/AStarMain$TempPoint.class b/build/classes/kotlin/main/elite/algorithm/AStarMain$TempPoint.class
index ccee8d7..8e6ac5f 100644
Binary files a/build/classes/kotlin/main/elite/algorithm/AStarMain$TempPoint.class and b/build/classes/kotlin/main/elite/algorithm/AStarMain$TempPoint.class differ
diff --git a/build/classes/kotlin/main/elite/algorithm/AStarMain.class b/build/classes/kotlin/main/elite/algorithm/AStarMain.class
index c91b309..f31f67b 100644
Binary files a/build/classes/kotlin/main/elite/algorithm/AStarMain.class and b/build/classes/kotlin/main/elite/algorithm/AStarMain.class differ
diff --git a/build/classes/kotlin/main/elite/algorithm/StarPoint$Companion.class b/build/classes/kotlin/main/elite/algorithm/StarPoint$Companion.class
index e10e5ea..d404717 100644
Binary files a/build/classes/kotlin/main/elite/algorithm/StarPoint$Companion.class and b/build/classes/kotlin/main/elite/algorithm/StarPoint$Companion.class differ
diff --git a/build/classes/kotlin/main/elite/algorithm/StarPoint.class b/build/classes/kotlin/main/elite/algorithm/StarPoint.class
index a85d80e..6801cad 100644
Binary files a/build/classes/kotlin/main/elite/algorithm/StarPoint.class and b/build/classes/kotlin/main/elite/algorithm/StarPoint.class differ
diff --git a/build/classes/kotlin/main/elite/alternative/AStarMainFile$Companion.class b/build/classes/kotlin/main/elite/alternative/AStarMainFile$Companion.class
index af251c8..1ff3c35 100644
Binary files a/build/classes/kotlin/main/elite/alternative/AStarMainFile$Companion.class and b/build/classes/kotlin/main/elite/alternative/AStarMainFile$Companion.class differ
diff --git a/build/classes/kotlin/main/elite/alternative/AStarMainFile$findNeighbours$1.class b/build/classes/kotlin/main/elite/alternative/AStarMainFile$findNeighbours$1.class
index 835b3f5..e4ee9b0 100644
Binary files a/build/classes/kotlin/main/elite/alternative/AStarMainFile$findNeighbours$1.class and b/build/classes/kotlin/main/elite/alternative/AStarMainFile$findNeighbours$1.class differ
diff --git a/build/classes/kotlin/main/elite/alternative/AStarMainFile.class b/build/classes/kotlin/main/elite/alternative/AStarMainFile.class
index a98d4c4..2b9f0cd 100644
Binary files a/build/classes/kotlin/main/elite/alternative/AStarMainFile.class and b/build/classes/kotlin/main/elite/alternative/AStarMainFile.class differ
diff --git a/build/classes/kotlin/main/elite/utils/ExtUtilsKt.class b/build/classes/kotlin/main/elite/utils/ExtUtilsKt.class
index 933963f..d747b6a 100644
Binary files a/build/classes/kotlin/main/elite/utils/ExtUtilsKt.class and b/build/classes/kotlin/main/elite/utils/ExtUtilsKt.class differ
diff --git a/build/kotlin/compileKotlin/build-history.bin b/build/kotlin/compileKotlin/build-history.bin
index 29aee2b..5c853af 100644
Binary files a/build/kotlin/compileKotlin/build-history.bin and b/build/kotlin/compileKotlin/build-history.bin differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab
index 6055077..c155764 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab and b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream
index 0876fca..d8ef4ae 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at
index ca3d58d..8262173 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i
index 5c1afb9..fc36975 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i and b/build/kotlin/compileKotlin/caches-jvm/inputs/source-to-output.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
index e910e69..66f38c9 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
index c9531f3..ff37e3d 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
index a20a1e3..123d5b3 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
index 0539f67..8fe89d8 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
index ae0e883..d2828de 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
index 4e28a2b..469ba32 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab
index c8647b2..ad8f73b 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at
index f673eaa..d727c54 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/constants.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab
index 4f59367..c0569db 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
index 26effe2..6b7f89b 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
index 08f5c72..b67ba64 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
index 213dab4..42df8b9 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
index 8e51d32..9afa0a9 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
index a5bf5f9..c4d963a 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab
index 7b6f07b..bce2c17 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at
index 65367f7..1d49f50 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/package-parts.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab
index 73f3cbc..91cf33b 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream
index 007d804..b23dc90 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len
index 1d5da86..0fc6fa3 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len
index 42df8b9..6a294aa 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at
index 97c2c14..73297c3 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i
index 2fffcfb..105efbe 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/proto.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab
index a7941ea..c3437fe 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
index e7102dd..fc608e3 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
index 169b534..8dc3707 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i
index 41d0451..f56e78c 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i and b/build/kotlin/compileKotlin/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab b/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
index 15a866c..1ba6b6c 100644
--- a/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
+++ b/build/kotlin/compileKotlin/caches-jvm/lookups/counters.tab
@@ -1,2 +1,2 @@
-39
-21
\ No newline at end of file
+23
+5
\ No newline at end of file
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab
index 8f2e4cf..e979ee4 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab and b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream
index e7102dd..fc608e3 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at
index 0279d61..6f389aa 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i
index cf8f72e..5bbb597 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i and b/build/kotlin/compileKotlin/caches-jvm/lookups/file-to-id.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab
index a48cd1a..016838c 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream
index a9e758f..7dab9bf 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len
index 11d24d5..9f36811 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.keystream.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len
index 8e95206..c14ff15 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at
index 354aea7..de39bf1 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i
index 5bf5acb..4b5eff1 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i and b/build/kotlin/compileKotlin/caches-jvm/lookups/id-to-file.tab_i differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab
index 46fbe2f..8b8032a 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream
index 0282655..4635e96 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len
index 6ff8716..9052893 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.keystream.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len
index fd86b25..11a04c9 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.len differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at
index 9425ce8..e0180d1 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab.values.at differ
diff --git a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i
index 37e374a..60690f8 100644
Binary files a/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i and b/build/kotlin/compileKotlin/caches-jvm/lookups/lookups.tab_i differ
diff --git a/build/kotlin/compileKotlin/last-build.bin b/build/kotlin/compileKotlin/last-build.bin
index 27bf20b..8798636 100644
Binary files a/build/kotlin/compileKotlin/last-build.bin and b/build/kotlin/compileKotlin/last-build.bin differ
diff --git a/src/main/kotlin/elite/Main.kt b/src/main/kotlin/elite/Main.kt
index b59d7ff..54aba93 100644
--- a/src/main/kotlin/elite/Main.kt
+++ b/src/main/kotlin/elite/Main.kt
@@ -20,7 +20,6 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.launch
-import sun.audio.AudioPlayer
import java.io.File
import java.io.FileInputStream
import java.nio.file.Files
@@ -67,7 +66,7 @@ var replaces = 0
fun calcTime(timeStart: Long): Double = System.currentTimeMillis().minus(timeStart).div(1000.0)
-fun startCoroutineQuery(systemName: String) {
+/*fun startCoroutineQuery(systemName: String) {
val coroutineScope = CoroutineScope(Dispatchers.Default)
coroutineScope.launch {
@@ -88,7 +87,7 @@ fun startCoroutineQuery(systemName: String) {
println("Coroutine complete query ${systemName}. Time: ${calcTime(startCoroutineTime)}")
database.closeDB()
}
-}
+}*/
/*fun addToResultList(result: Int) {
@@ -183,17 +182,6 @@ fun startCoroutineQuery(systemName: String) {
//TODO alternative MAIN with work in file
/*fun main(args: Array) {
println("Start A Star with file table")
- val thread = Thread{
- val inputStream = FileInputStream("sound.mp3")
- val player = Player(inputStream)
- try {
- while (true) {
- player.play()
- }
- } finally {
- player.close()
- }
- }.apply { isDaemon = true }.start()
val time = System.currentTimeMillis()
println("Distance modifier $DISTANCE_MODIFIER")
diff --git a/src/main/kotlin/elite/algorithm/AStarMain.kt b/src/main/kotlin/elite/algorithm/AStarMain.kt
index 100fdc4..fd0b583 100644
--- a/src/main/kotlin/elite/algorithm/AStarMain.kt
+++ b/src/main/kotlin/elite/algorithm/AStarMain.kt
@@ -25,6 +25,7 @@ class AStarMain(private val startSystem: String, private val finishSystem: Strin
private val openedList = mutableListOf()
private val closedList = mutableListOf()
+ private val stopwatch = Stopwatch()
init {
openedList.add(startStarPoint)
@@ -74,15 +75,18 @@ class AStarMain(private val startSystem: String, private val finishSystem: Strin
}
private fun findStarPointWithMinCost(): StarPoint {
+ stopwatch.start()
return openedList.minBy { starPoint -> starPoint.costF }!!.also { nextStarPoint ->
println("Min cost star point: G = ${nextStarPoint.costG}, F = ${nextStarPoint.costF}, " +
"dist = ${nextStarPoint.distance}, start = ${nextStarPoint.previousStarPoint == startStarPoint}")
+ stopwatch.stopWithConsoleOutput("Min cost find time: ")
}
}
private fun findNeighbours(starPoint: StarPoint) {
checkConnection()
+ stopwatch.start()
val resultSet = database.query(
"select $C_ID64, $C_X, $C_Y, $C_Z, $C_SUBTYPE = 'Neutron Star' as isNeutronStar, " +
"$C_SYS_NAME, " +
@@ -93,6 +97,10 @@ class AStarMain(private val startSystem: String, private val finishSystem: Strin
)}" +
"and not $C_ID64=${starPoint.systemId64}"
)
+ stopwatch.stopWithConsoleOutput("Query time: ")
+ stopwatch.start()
+
+ val sw2 = Stopwatch()
while (resultSet.next()) {
with(resultSet) {
@@ -103,14 +111,17 @@ class AStarMain(private val startSystem: String, private val finishSystem: Strin
), getBoolean("isNeutronStar"), getDouble("dist"),
getString(C_SYS_NAME), starPoint.jumpCounter.plus(1), finishStarPoint.coords
)
+ sw2.start()
if (closedList.notContains(newStarPoint)) {
// openedList.addIfAbsent(newStarPoint)
// openedList.smartAdd(newStarPoint)
openedList.smartAdd2(newStarPoint)
}
+ sw2.stopWithConsoleOutput("Add to openList time: ")
}
}
resultSet.close()
+ stopwatch.stopWithConsoleOutput("Process time: ")
}
private fun isNeutronDistance(isNeutron: Boolean) = if (isNeutron) NEUTRON_DISTANCE else USUAL_DISTANCE
diff --git a/src/main/kotlin/elite/alternative/AStarMainFile.kt b/src/main/kotlin/elite/alternative/AStarMainFile.kt
index 7b545bb..a85a715 100644
--- a/src/main/kotlin/elite/alternative/AStarMainFile.kt
+++ b/src/main/kotlin/elite/alternative/AStarMainFile.kt
@@ -32,14 +32,14 @@ class AStarMainFile {
findNeighbours(startStarPoint)
+ openedList.remove(startStarPoint)
+ closedList.add(startStarPoint)
+
if (openedList.isEmpty()) {
println("${consoleStringCounter()}Unable to complete task. No neighbors found near startStarPoint. =(")
return
}
- openedList.remove(startStarPoint)
- closedList.add(startStarPoint)
-
do {
if (checkForFinish()) {
@@ -70,7 +70,7 @@ class AStarMainFile {
private fun findStarPointWithMinCost(): StarPoint {
return openedList.minBy { starPoint -> starPoint.costF }!!.also { nextStarPoint ->
- println("Min cost star point: G = ${nextStarPoint.costG}, F = ${nextStarPoint.costF}, " +
+ println("Min cost star point: G = ${nextStarPoint.costG}, F = ${nextStarPoint.costF}, H = ${nextStarPoint.costH} " +
"dist = ${nextStarPoint.distance}, start = ${nextStarPoint.previousStarPoint == startStarPoint}")
}
}
@@ -125,19 +125,25 @@ class AStarMainFile {
}
private fun printTheFoundPath(): Int {
+// val db = Database().apply { openConnection() }
var starPoint = finishStarPoint.previousStarPoint!!
var counter = 0
var fullDistance = 0.0
while (starPoint != startStarPoint) {
+// val systemName = db.query("select ${Database.C_SYS_NAME} FROM ${AStarMain.CORRIDOR} WHERE ${Database.C_ID64} = ${starPoint.systemId64}").let {
+// it.next()
+// it.getString(Database.C_SYS_NAME)
+// }
println(
"${consoleStringCounter()} Point $counter id = ${starPoint.systemId64}, " +
-// "name = ${starPoint.systemName} " +
+// "name = $systemName " +
"distance = ${starPoint.distance}, G = ${starPoint.costG}, F = ${starPoint.costF}"
)
fullDistance += starPoint.distance
starPoint = starPoint.previousStarPoint!!
counter++
}
+// db.closeDB()
println("${consoleStringCounter()} Total jumps counter = $counter, distance = $fullDistance ly, replaces = $replaces, cof = ${StarPoint.NEUTRON_COF}")
return counter
}