AStar para Gaming.NET

by Juan 10. October 2007 15:30
Share on Facebook

Dado que en la final de Gaming.NET seguramente usemos mapas con streams, decidí publicar un mini algoritmo de pathfinding para que los finalistas puedan usarlo asi como está, o (altamente recomedable) lo utilicen de base para el propio.

Aplicación de Test

Esta aplicación no es obligatoria de usar o entender, pero les puede servir para probar modificaciones al algoritmo. 

Es simple de usar, solo se carga el mapa a utilizar y se presiona Load.

Luego se puede clickear sobre algún punto en el mapa para setear el punto de inicio, y clickear con el botón derecho para setear el de llegada.

Presionando Start se dibuja sobre el mapa el camino obtenido

Algoritmo 

El algoritmo esta embebido en la aplicación de test, pero extraerlo y usarlo dentro del assembly de hoshimi es fácil (se asume algún conocimiento por lo que no se dan instrucciones en exhaustivo detalle)

  1. Copiar APoint.cs, AStar.cs, y PathFinderBase.cs dentro del proyecto .NET de Hoshimi (esos tres archivos están en el .zip que se bajan más arriba) 
  2. Renombrar el namespace de GamingNETPathFinding a lo que se quiera (opcional)
  3. Usar

Para usarlo, solo hace falta crear una instancia de la clase AStar, y llamar a GetPath()

APoint start = new APoint(10, 10);
APoint end = new APoint(150, 150);
// Instancia
AStar astar = new AStar(this.Tissue);
// Obtiene el path
Point[] path = astar.GetPath(start, end);

Este ejemplo, genera en la variable path la lista de puntos que se le pasa al MoveTo() de cada bot

Espero que les sirva. No me comprometo 100% a dar soporte, pero pueden dejar un comentario en este post si tienen alguna duda y tal vez los pueda ayudar.

Más información sobre A*

Tags: , , ,

Gaming.NET | Programming

Comments

Powered by BlogEngine.NET 1.4.5.15
Theme by Mads Kristensen Modified by Juan Manuel Formoso

About the Author

Juan Manuel
Networking
View my LinkedIn profile View my Facebook profile View my Twitter feed View my StackOverflow CV

Juan Manuel Formoso
There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something more bizarrely inexplicable.

There is another theory which states that this has already happened.

E-mail me Send mail

Hosting is not Free

Google Reader Picks

Most comments

Cristian Cristian
1 comments
co Colombia

Calendar

<<  September 2010  >>
MoTuWeThFrSaSu
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

View posts in large calendar

Recent comments

Comment RSS

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

© Copyright 2008