zaterdag 21 mei 2011

Pathfinding

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).


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.

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.

Visualisatie van het recursive backtracking algoritme:  het groene vak is de start-locatie, het blauwe vak is de huidige cel. De gele vakken zijn posities die terug bezocht zullen worden tijdens de uitvoering (t.g.v. backtracking). De witte cellen zijn cellen die niet meer bezocht zullen worden.
Momenteel is de implementatie van het framework zo goed als af. De mogelijkheid om settings op te slaan en een grid op te slaan ontbreekt echter nog en er dienen
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.