/phpFlowPath

PHP Flow Pathfinding algorithm

Primary LanguagePHP

PHP Flow PathFinding

This source was built to UltimaPHP server, but here is a stand-alone version of the source.

To test, just clone and edit the test.php file to build your own maps.

	  X|0|1|2|3|4|5|6|7|8|9|0
	Y  ----------------------
	0 |S                    
	1 |  ⇘                  
	2 |    ⇘                
	3 |      ⇘              
	4 |        ⇘            
	5 |          ⇘          
	6 |            ⇘        
	7 |              ⇘      
	8 |                ⇘    
	9 |                  ⇘  
	0 |                    D
Tempo médio de processamento: 0.0011435579572405ms em 875 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9|0
	Y  ----------------------
	0 |S ⇒ D                
	1 |                     
	2 |                     
	3 |                     
	4 |                     
	5 |                     
	6 |                     
	7 |                     
	8 |                     
	9 |                     
	0 |                     
Tempo médio de processamento: 9.7767303784533E-5ms em 10229 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9|0
	Y  ----------------------
	0 |S         ⛆          
	1 |  ⇘       ⛆          
	2 |    ⇘     ⛆          
	3 |      ⇘   ⛆          
	4 |        ⇘ ⛆          
	5 |        ⇓ ⛆          
	6 |        ⇓ ⛆          
	7 |        ⇓ ⛆          
	8 |        ⇓ ⛆     D    
	9 |        ⇓ ⛆   ⇗      
	0 |        ⇓ ⇒ ⇒        
Tempo médio de processamento: 0.0011544073604245ms em 867 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4
	Y  ------------------------------
	0 |    ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆
	1 |    ⛆ ⛆ ⛆ ⛆ ⛆ D       ⛆     ⛆
	2 |  S ⛆ ⛆ ⛆ ⛆ ⛆ ⇑       ⛆     ⛆
	3 |  ⇓ ⛆ ⛆ ⛆ ⛆ ⛆ ⇑       ⛆     ⛆
	4 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆ ⇑       ⛆     ⛆
	5 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆ ⇖       ⛆     ⛆
	6 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆   ⇖     ⛆     ⛆
	7 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆     ⇖   ⛆     ⛆
	8 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆       ⇑ ⛆     ⛆
	9 |⛆ ⇓ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⇑ ⛆     ⛆
	0 |⛆ ⇓ ⇒ ⇒           ⛆ ⇑ ⛆     ⛆
	1 |⛆ ⛆     ⇘     ⛆ ⛆ ⛆ ⇑ ⛆     ⛆
	2 |⛆         ⇘   ⛆ ⛆ ⛆ ⇑ ⛆     ⛆
	3 |⛆           ⇘ ⇒ ⇒ ⇒ ⇒       ⛆
	4 |⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆ ⛆
Tempo médio de processamento: 0.0016058869002145ms em 623 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9|0|1|2|3|4|5|6|7|8|9
	Y  ----------------------------------------
	0 |⇑ ⇒ ⇒ ⛆ ⇑ ⇒ ⇒ ⛆ ⇑ ⇒ ⇒ ⛆ ⇑ ⇒ ⇒ ⛆ ⇑ ⇒ ⇒ ⛆
	1 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	2 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	3 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	4 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	5 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	6 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	7 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	8 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	9 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	0 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	1 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	2 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	3 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	4 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	5 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	6 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	7 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	8 |⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆ ⇑ ⛆ ⇓ ⛆
	9 |S ⛆ ⇓ ⇒ ⇒ ⛆ ⇓ ⇒ ⇒ ⛆ ⇓ ⇒ ⇒ ⛆ ⇓ ⇒ ⇒ ⛆ D ⛆
Tempo médio de processamento: 0.0084586444021273ms em 119 loops por segundo
	  X|0|1|2|3|4|5|6
	Y  --------------
	0 |             
	1 |      ⛆ ⛆ ⛆  
	2 |          ⛆  
	3 |  ⛆ ⛆ ⛆   ⛆  
	4 |  ⛆ S ⛆   ⛆  
	5 |  ⛆ ⇓ ⛆ ⛆ ⛆  
	6 |  ⛆ ⇓   ⛆ D  
	7 |  ⛆   ⇘ ⇒ ⇑  
	8 |  ⛆          
Tempo médio de processamento: 0.00029736241520142ms em 3363 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9
	Y  --------------------
	0 |  S       ⛆ ⛆   D  
	1 |  ⇓     ⛆ ⛆     ⇑  
	2 |  ⇓ ⛆ ⛆ ⛆ ⛆   ⇗    
	3 |  ⇓   ⛆ ⛆   ⇗      
	4 |    ⇘ ⇒ ⇒ ⇒        
	5 |                   
	6 |                   
	7 |                   
	8 |                   
	9 |                   
Tempo médio de processamento: 0.0010711996152008ms em 934 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9
	Y  --------------------
	0 |  S ⇒ ⇒ ⇒ ⇒ ⇒ ⇒ D  
	1 |        ⛆ ⛆        
	2 |    ⛆ ⛆ ⛆ ⛆        
	3 |      ⛆ ⛆          
	4 |                   
	5 |                   
	6 |                   
	7 |                   
	8 |                   
	9 |                   
Tempo médio de processamento: 0.0005147355276472ms em 1943 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9
	Y  --------------------
	0 |  S           ⛆ D  
	1 |        ⛆ ⛆     ⛆  
	2 |    ⛆ ⛆ ⛆ ⛆       ⛆
	3 |      ⛆ ⛆          
	4 |                   
	5 |                   
	6 |                   
	7 |                   
	8 |                   
	9 |                   
Tempo médio de processamento: 7.043824865543E-5ms em 14198 loops por segundo
	  X|0|1|2|3|4|5|6|7|8|9
	Y  --------------------
	0 |S ⛆           ⛆ D  
	1 |⛆ ⛆     ⛆ ⛆        
	2 |    ⛆ ⛆ ⛆ ⛆        
	3 |      ⛆ ⛆          
	4 |                   
	5 |                   
	6 |                   
	7 |                   
	8 |                   
	9 |                   
Tempo médio de processamento: 0.00088224776838192ms em 1134 loops por segundo