Mercurial > projects > aid
comparison trunk/aid/astar.d @ 1:5dd9f598bcd8
Update
author | revcompgeek |
---|---|
date | Sat, 29 Mar 2008 12:30:20 -0600 |
parents | 4b2e8e8a633e |
children | ff92c77006c7 |
comparison
equal
deleted
inserted
replaced
0:4b2e8e8a633e | 1:5dd9f598bcd8 |
---|---|
4 +++++++++++++++++++++++++++++++++++++++++++*/ | 4 +++++++++++++++++++++++++++++++++++++++++++*/ |
5 | 5 |
6 module aid.astar; | 6 module aid.astar; |
7 | 7 |
8 import mintl.arrayheap; | 8 import mintl.arrayheap; |
9 import mintl.arraylist; | |
9 | 10 |
10 class Node(DATA) { | 11 class Node(DATA) { |
11 int xloc; | 12 int xloc; |
12 int yloc; | 13 int yloc; |
13 int fitness; | 14 int fitness; |
14 private int fitg; | 15 private int g; |
16 private int h; | |
15 Node* parent = null; | 17 Node* parent = null; |
16 DATA data; | 18 DATA data; |
17 | 19 |
18 this(DATA d, int g){ | 20 this(DATA d, int g){ |
19 data = d; | 21 data = d; |
33 | 35 |
34 class AStar(DATA) { | 36 class AStar(DATA) { |
35 alias Node!(DATA) Node; | 37 alias Node!(DATA) Node; |
36 alias DATA[] delegate(DATA) getChildren; | 38 alias DATA[] delegate(DATA) getChildren; |
37 ArrayHeap!(Node) openList; | 39 ArrayHeap!(Node) openList; |
38 ArrayHeap!(Node) closedList; | 40 ArrayList!(Node) closedList; |
39 DATA[] run(DATA start){ | 41 DATA[] run(DATA start){ |
40 | 42 |
41 } | 43 } |
42 } | 44 } |