From 334a5ba1e3df530c6554037ab6228d900a23b2fb Mon Sep 17 00:00:00 2001 From: Bryson Zimmerman Date: Sat, 26 Oct 2024 13:21:36 -0400 Subject: [PATCH] Minor changes for convenience and readability --- src/main/kotlin/Main.kt | 2 +- src/main/kotlin/MazeFinder.kt | 9 +++++---- src/main/kotlin/data/WorldData.kt | 3 ++- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index 852f3f5..35c584e 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -14,7 +14,7 @@ class HierarchicalPathfinding { companion object { @JvmStatic fun main(args: Array) { - val n = 10 + val n = 1000 println("Building world") World.setSize(n, n) println("Start") diff --git a/src/main/kotlin/MazeFinder.kt b/src/main/kotlin/MazeFinder.kt index 637717b..7be9cee 100644 --- a/src/main/kotlin/MazeFinder.kt +++ b/src/main/kotlin/MazeFinder.kt @@ -3,7 +3,6 @@ package technology.zim import it.unimi.dsi.util.XoRoShiRo128PlusRandom import technology.zim.data.Directions import technology.zim.data.Tile -import technology.zim.data.TileProperties import technology.zim.util.TrimmableArrayList import kotlin.collections.ArrayList @@ -35,12 +34,14 @@ object MazeFinder { //Prime the graph with the first connection, which marks the first visited Tiles startingTile = World.getRandomLocation() val tmpIndex = randGen.nextInt(Directions.ALL.size) - startingTile.connect(Directions.ALL.get(tmpIndex)) + val connectorTile = startingTile + Directions.ALL[tmpIndex] + startingTile.connect(connectorTile) + tempInGraph.add(startingTile) - tempInGraph.add(startingTile + Directions.ALL.get(tmpIndex)) + tempInGraph.add(connectorTile) //Choose an arbitrary vertex from G (the graph), and add it to some (initially empty) set V. frontier.addAll(startingTile.getAdjacentTiles(false)) - frontier.addAll((startingTile + Directions.ALL.get(tmpIndex)).getAdjacentTiles(false)) + frontier.addAll((connectorTile.getAdjacentTiles(false))) //Choose a random edge from G, that connects a vertex in V with another vertex not in V. var current: Tile var inGraph: Tile diff --git a/src/main/kotlin/data/WorldData.kt b/src/main/kotlin/data/WorldData.kt index 8287e5c..c12bac1 100644 --- a/src/main/kotlin/data/WorldData.kt +++ b/src/main/kotlin/data/WorldData.kt @@ -5,6 +5,7 @@ package technology.zim.data @JvmInline value class WorldData(val value: ArrayList>) { fun setSize(xmin : Int, ymin : Int) { + val emptyTile = TileProperties(0) //println("WorldData setting to: " + xmin + ", " + ymin) //Fill every column with an ArrayList of TileProperties value.removeAll({true}) @@ -24,6 +25,6 @@ value class WorldData(val value: ArrayList>) { } companion object { - val emptyTile = TileProperties(0) + } }