Fixed typo that called the wrong backing data structure, added competitive timekeeping

main
Bryson Zimmerman 11 months ago
parent 82cf74dfe4
commit ed103c30fe

@ -79,7 +79,7 @@ object ArrayBackedPathfinder {
} }
private fun fValue(prospect: Tile, end: Tile): Int { private fun fValue(prospect: Tile, end: Tile): Int {
return hValue(prospect, end).plus(MapBackedPathfinder.gVals.get(prospect) ?: 0) return hValue(prospect, end).plus(gVals.get(prospect) ?: 0)
} }
private fun hValue(prospect: Tile, end:Tile): Int { private fun hValue(prospect: Tile, end:Tile): Int {

@ -9,19 +9,33 @@ class HierarchicalPathfinding {
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
val n = 1000 val n = 1000
println("Building maze")
var startTime = System.currentTimeMillis()
buildMaze(n) buildMaze(n)
var endTime = System.currentTimeMillis()
val buildMazeTime = endTime - startTime
println("Pathfinding") println("Pathfinding")
var startTime = System.currentTimeMillis()
startTime = System.currentTimeMillis()
MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n-1, (n-1))) MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n-1, (n-1)))
var endTime = System.currentTimeMillis() endTime = System.currentTimeMillis()
val aStarMs = endTime - startTime val MapBackedPathfinderTime = endTime - startTime
World.tiles.scrubDirections(listOf(Directions.FRONTIER, Directions.INPATH, Directions.NOPATH))
startTime = System.currentTimeMillis()
ArrayBackedPathfinder.generatePath(Tile(0, 0), Tile(n-1, (n-1)))
endTime = System.currentTimeMillis()
val ArrayBackedPathfinderTime = endTime - startTime
println(World.toString()) println(World.toString())
println(n*n) println(n*n)
println((endTime - startTime).toString() + "ms") println("Maze build time: ${buildMazeTime} ms")
println("HashMap-Backed Pathfinder time: ${MapBackedPathfinderTime}ms")
println("Array-Backed Pathfinder time: ${ArrayBackedPathfinderTime} ms")
} }
//Clear the maze of pathfinding markers before running another pathfinding algorithm //Clear the maze of pathfinding markers before running another pathfinding algorithm

Loading…
Cancel
Save