A star Algorithm implemented in its normal behavior, need to select right value of g cost and add a "Punish Change Direction" procedure in order to get cleaner paths, it will be taken from a c# project:

http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c12527/AStar-A-Implementation-in-C-Path-Finding-PathFinder.htm
Empty comit
Merge functionality of A_star algorithm with elements layout