From 8b8d14e3f99b9de8ac96e528b5e995ce3db54983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Kuczy=C5=84ski?= Date: Tue, 28 Apr 2020 21:46:40 +0000 Subject: [PATCH] Zaktualizuj 'route-planning.md' --- route-planning.md | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/route-planning.md b/route-planning.md index ae13d76..9d607fe 100644 --- a/route-planning.md +++ b/route-planning.md @@ -15,11 +15,8 @@ Naszą główną funkcją jest funkcja `aStar(startField, goalField)`, przyjmuje - Dodajemy pierwszy element który będziemy sprawdzać do listy openSet: `addToOpenSet(openSet, startField)` - Dopuki lista `openSet` nie bedzie pusta sprawdzamy jej elementy: `while(openSet.length > 0)` - -Wybieramy najbardziej obiecujący element z zbioru `openSet`: `let current = findLowestFScore(openSet, goalField)` - -Jeśli pole `current` okaże się naszym celem tworzymy ścieszkę z punktu startowego do naszego celu. - +- Wybieramy najbardziej obiecujący element z zbioru `openSet`: `let current = findLowestFScore(openSet, goalField)` +- Jeśli pole `current` okaże się naszym celem tworzymy ścieszkę z punktu startowego do naszego celu. ```javascript if(current === goalField){ path = [] @@ -30,27 +27,20 @@ if(current === goalField){ temp = temp.previous } ``` - -Następnie kolorujemy tą ścieszkę i kończymy funkcję zwracając ścieszkę `path` - +- Następnie kolorujemy tą ścieszkę i kończymy funkcję zwracając ścieszkę `path` ```javascript for(var i = 0; i < path.length; i++){ colorYellow(path[i]); } return path ``` - -Jeśli pole `current` nie jest naszym celem, to usuwamy je z listy `openSet` i dodajemy do listy `closedSet` - +- Jeśli pole `current` nie jest naszym celem, to usuwamy je z listy `openSet` i dodajemy do listy `closedSet` ```javascript removeFromSet(openSet, current); addToClosedSet(closedSet, current); ``` - -Pobieramy sąsiadów pola `current`: `var neighbors = current.neighbors;` - -Dla każdego sąsiada obliczamy koszt dotarcia do niego z punktu początkowego najlepszą ścieszką. - +- Pobieramy sąsiadów pola `current`: `var neighbors = current.neighbors;` +- Dla każdego sąsiada obliczamy koszt dotarcia do niego z punktu początkowego najlepszą ścieszką. ```javascript for(var i = 0; i < neighbors.length; i++){ var neighbor = neighbors[i]; @@ -65,14 +55,12 @@ for(var i = 0; i < neighbors.length; i++){ addToOpenSet(openSet, neighbor); } ``` - -Po przypisaniu kosztu do sąsiada dodajemy jego odległość do celu: +-Po przypisaniu kosztu do sąsiada dodajemy jego odległość do celu: `neighbor.heuristic = getDistance(neighbor, goalField);`, -??????????: `neighbor.f = neighbor.gScore + neighbor.heuristic;` - -oraz jego poprzednika: `neighbor.previous = current;` +- ??????????: `neighbor.f = neighbor.gScore + neighbor.heuristic;` +- oraz jego poprzednika: `neighbor.previous = current;` ### Definicja funkcji następnika ### Definicja przyjętej heurystyki