root/as3/GameAI/trunk/src/GraphTest.as

リビジョン 1204, 1.9 kB (コミッタ: hael, コミット時期: 3 年 前)

--

Line 
1 package
2 {
3         import flash.display.Sprite;
4         import flash.utils.getTimer;
5        
6         import jp.dip.hael.gameai.graph.Graph;
7         import jp.dip.hael.gameai.graph.Node;
8         import jp.dip.hael.gameai.graph.WeightedEdge;
9         import jp.dip.hael.gameai.graph.searcher.BFS;
10         import jp.dip.hael.gameai.graph.searcher.Dijkstra;
11         import jp.dip.hael.gameai.util.PriorityQueueDsc;
12         import jp.dip.hael.gameai.util.Rand;
13        
14
15         /**
16          * @private
17          */
18         public class GraphTest extends Sprite
19         {
20                 public function GraphTest()
21                 {
22                        
23                         var g:Graph = new Graph();
24                         g.addNode(new Node(1));
25                         g.addNode(new Node(2));
26                         g.addNode(new Node(3));
27                         g.addNode(new Node(4));
28                         g.addNode(new Node(5));
29                         g.addNode(new Node(6));
30                         g.addEdge(new WeightedEdge(5, 2, 19));
31                         g.addEdge(new WeightedEdge(5, 6, 30));
32                         g.addEdge(new WeightedEdge(1, 5, 29));
33                         g.addEdge(new WeightedEdge(1, 6, 10));
34                         g.addEdge(new WeightedEdge(3, 5,  8));
35                         g.addEdge(new WeightedEdge(6, 4, 11));
36                         g.addEdge(new WeightedEdge(4, 3, 37));
37                         g.addEdge(new WeightedEdge(2, 3, 31));
38                        
39                         var d:Dijkstra = new Dijkstra(g);
40                         var t:int = getTimer();
41                         for(var i:int = 0; i < 1000; i++){
42                                 d.search(5, 3);
43                         }
44                         trace(getTimer() - t);
45 //                      for each(var e:Edge in d.pathRef){
46 //                              trace(e.src + "->" + e.dst);
47 //                      }
48                         var b:BFS = new BFS(g);
49                         t = getTimer();
50                         for(i = 0; i < 1000; i++){
51                                 b.search(5, 3);
52                         }
53                         trace(getTimer() - t);
54 //                      for each(var e:Edge in b.pathRef){
55 //                              trace(e.src + "->" + e.dst);
56 //                      }
57                        
58                        
59 //                      var pq:PriorityQueueDsc = new PriorityQueueDsc();
60 //                      t = getTimer();
61 //                      for(i = 0; i < 10000; i++){
62 //                              pq.insert(i, Rand.intRange(0, 100));
63 //                      }
64 //                      trace(getTimer() - t);
65 //                      var pq2:PriorityQueueDsc2 = new PriorityQueueDsc2();
66 //                      t = getTimer();
67 //                      for(i = 0; i < 10000; i++){
68 //                              pq2.insert(i, Rand.intRange(0, 100));
69 //                      }
70 //                      trace(getTimer() - t);
71                 }
72
73         }
74 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。