Added ability to put PathFinder to use

main
Bryson Zimmerman 11 months ago
parent 450918a377
commit a4dcf1c31b

@ -1,5 +1,6 @@
package technology.zim package technology.zim
import technology.zim.data.Tile
import kotlin.times import kotlin.times
import kotlin.toString import kotlin.toString
@ -12,33 +13,43 @@ Minimum int size is probably 32 or 64 bit, so huge memory waste if that's used
Abandon fancy stretch goals, just get pathfinding done and scale it up to demonstrate large scale Abandon fancy stretch goals, just get pathfinding done and scale it up to demonstrate large scale
*/ */
//TODO: Figure out why attempted connections out of bounds are happening
/*
Building world
Start
Attempted to connect to outside bounds: <44, 50> From Tile: <44, 49>
no explored found
*/
class HierarchicalPathfinding { class HierarchicalPathfinding {
companion object { companion object {
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
val n = 50
buildMaze() buildMaze(n)
val startTime = System.currentTimeMillis()
PathFinder.generatePath(Tile(0, 0), Tile(n-1, (n-1)))
val endTime = System.currentTimeMillis()
println(World.toString())
println(n*n)
println((endTime - startTime).toString() + "ms")
} }
fun buildMaze() { fun buildMaze(n: Int) {
val n = 1000
println("Building world") println("Building world")
World.setSize(n, n) World.setSize(n, n)
println("Start") println("Start")
val startTime = System.currentTimeMillis()
try { try {
MazeFinder.primsAlgorithm() MazeFinder.primsAlgorithm()
} catch(e: Exception) { } catch(e: Exception) {
println(World.toString()) println(World.toString())
println(e.message) println(e.message)
} }
val endTime = System.currentTimeMillis()
println(World.toString())
println(n*n)
println((endTime - startTime).toString() + "ms")
} }
} }

Loading…
Cancel
Save