forked from s444420/AL-2020
Zaktualizuj 'route-planning.md'
This commit is contained in:
parent
70f2f7bae3
commit
8b8d14e3f9
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user