Minor changes for convenience and readability

main
Bryson Zimmerman 11 months ago
parent a8e381341c
commit 334a5ba1e3

@ -14,7 +14,7 @@ class HierarchicalPathfinding {
companion object { companion object {
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
val n = 10 val n = 1000
println("Building world") println("Building world")
World.setSize(n, n) World.setSize(n, n)
println("Start") println("Start")

@ -3,7 +3,6 @@ package technology.zim
import it.unimi.dsi.util.XoRoShiRo128PlusRandom import it.unimi.dsi.util.XoRoShiRo128PlusRandom
import technology.zim.data.Directions import technology.zim.data.Directions
import technology.zim.data.Tile import technology.zim.data.Tile
import technology.zim.data.TileProperties
import technology.zim.util.TrimmableArrayList import technology.zim.util.TrimmableArrayList
import kotlin.collections.ArrayList import kotlin.collections.ArrayList
@ -35,12 +34,14 @@ object MazeFinder {
//Prime the graph with the first connection, which marks the first visited Tiles //Prime the graph with the first connection, which marks the first visited Tiles
startingTile = World.getRandomLocation() startingTile = World.getRandomLocation()
val tmpIndex = randGen.nextInt(Directions.ALL.size) 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)
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. //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.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. //Choose a random edge from G, that connects a vertex in V with another vertex not in V.
var current: Tile var current: Tile
var inGraph: Tile var inGraph: Tile

@ -5,6 +5,7 @@ package technology.zim.data
@JvmInline @JvmInline
value class WorldData(val value: ArrayList<ArrayList<TileProperties>>) { value class WorldData(val value: ArrayList<ArrayList<TileProperties>>) {
fun setSize(xmin : Int, ymin : Int) { fun setSize(xmin : Int, ymin : Int) {
val emptyTile = TileProperties(0)
//println("WorldData setting to: " + xmin + ", " + ymin) //println("WorldData setting to: " + xmin + ", " + ymin)
//Fill every column with an ArrayList of TileProperties //Fill every column with an ArrayList of TileProperties
value.removeAll({true}) value.removeAll({true})
@ -24,6 +25,6 @@ value class WorldData(val value: ArrayList<ArrayList<TileProperties>>) {
} }
companion object { companion object {
val emptyTile = TileProperties(0)
} }
} }

Loading…
Cancel
Save