Nadat ik de maze generation algoritmen afgewerkt heb ben ik begonnen aan de pathfinding algoritmen. Momenteel zijn DFS, BFS, Dijkstra en A* geimplementeerd.
De volgende afbeeldingen tonen de laatste stap en de oplossing van het A* algoritme. Witte cellen hebben een kost van 1 en de grijze cellen een kost 2. De kosten zijn echter vermenigvuldigd met 10 om het rekenen met kommagetallen te vermijden/beperken (hetgeen relatief veel tijd in beslag kan nemen).
Het doel van deze bachelorproef is het implementeren, testen en vergelijken van een aantal soorten 2D grid algoritmen, zoals algoritmen om een labyrint te genereren (maze generation algorithms), pathfinding algoritmen en verkenningsalgoritmen. De algoritmen kunnen ook gevisualiseerd worden ter verduidelijking. Verder kunnen deze algoritmen gecombineerd worden om een game te maken.
zaterdag 21 mei 2011
maandag 18 april 2011
Maze generation algoritmen geïmplementeerd
Momenteel zijn de perfect maze generations algoritmen die besproken worden op ThinkLabyrinth geïmplenteerd.
Met uitzondering van Eller's algoritme zijn deze algoritmen ook al opgenomen in het verslag. Voor sommige algoritmen dien ik de complexiteit echter nog te (her)berekenen.
Met uitzondering van Eller's algoritme zijn deze algoritmen ook al opgenomen in het verslag. Voor sommige algoritmen dien ik de complexiteit echter nog te (her)berekenen.
donderdag 24 maart 2011
Eerste Algoritme
Vandaag heb ik het eerste algoritme geïmplementeerd. Dit algoritme is het Recursive Backtracking maze generation algoritme. Het is ook mogelijk om het algoritme te visualiseren.
nog een aantal bugs opgelost te worden in verband met threads. Ook dienen er een paar wijzigingen gedaan te worden in de GUI zodat er meerdere threads tegelijk uitgevoerd kunnen worden.
Normaal gezien zou het implementeren van de algoritmes nu vrij vlot moeten gaan.
dinsdag 22 februari 2011
Implementatie framework
Na het uitwerken van de structuur ben ik gisteren begonnen aan het implementeren van het framework.
vrijdag 11 februari 2011
Ontwerp
Ik ben gisteren begonnen aan het uitwerken van een structuur voor het framework. Het voordeel van een framework is dat de algoritmen achteraf eenvoudig geïmplementeerd en getest kunnen worden, zonder dat er aanpassingen dienen te gebeuren aan de code voor het testen van de algoritmen en de grafische voorstelling van de algoritmen. Best zijn implementaties van de algoritmen niet te afhankelijk van het framework, zodat ze eenvoudig herbruikt kunnen in andere applicaties.
Abonneren op:
Posts (Atom)