| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package astar
- import (
- "fmt"
- "testing"
- "time"
- )
- var (
- config1 = Config{
- Width: 10,
- Height: 30,
- MapData: [][]int32{
- // > Column or Height
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, // v Row ro Width
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1},
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1},
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1},
- {1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1},
- {1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1},
- {1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1},
- {1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1},
- {1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1},
- {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1},
- },
- IsDebug: true,
- }
- config2 = Config{
- Width: 10,
- Height: 5,
- MapData: [][]int32{
- // > Column or Height
- {1, 1, 1, 1, 1}, // v Row ro Width
- {1, 0, 1, 0, 0},
- {1, 1, 0, 1, 1},
- {1, 1, 1, 0, 1},
- {1, 1, 1, 0, 1},
- {1, 1, 0, 0, 1},
- {1, 1, 0, 1, 1},
- {1, 1, 0, 1, 1},
- {1, 0, 1, 1, 1},
- {1, 1, 1, 1, 1},
- },
- IsDebug: true,
- }
- )
- func TestAstar(t *testing.T) {
- astar := New(config1)
- // astar := New(config2)
- startTime := time.Now().UnixNano()
- fmt.Printf("开始:%d\n", startTime)
- path, ok := astar.FindPath(0, 0, 9, 29)
- // path, ok := astar.FindPath(0, 0, 9, 4)
- // path, ok := astar.FindPath(0, 0, 3, 8)
- endTime := time.Now().UnixNano()
- fmt.Printf("结束:%d\n", endTime)
- fmt.Printf("耗时:%v(ns)\n", endTime-startTime)
- if !ok {
- t.Error("find path failed")
- } else {
- astar.Print(path)
- }
- }
|