2013-12-23 2 views
0

Сначала я поставил свой псевдокод, пожалуйста, сообщите о его действительности в соответствии с движением в реальном мире и как я могу его улучшить.Является ли это приемлемым алгоритмом для движения пешеходов, который ищет и смешивает с «приятелями» на своем пути к цели?

Помещение: черепаха идет от своей точки появления к цели. По пути он встречает других черепах. Черепахи того же цвета будут рассматриваться как «приятель» и будут приближаться к нему, имитируя сценарий «друзья-ходьба вниз по улице». Черепахи того же цвета с более близким расстоянием имеют более высокий приоритет, например. друг А ближе, чем друг Б, поэтому я сначала подойду к другу.

При приближении к цели черепаха возвращается к своей точке появления.

псевдокод:

determine if i am already in the goal 
if yes, 
    determine if there are patches I can walk on 
    set eyes on nearest patch I can walk on (for the goal path) 
    if there is a friend nearby, approach friend 
    if there is no friend nearby, continue walking the goal path 
    if im already in the goal, respawn. 

Консультировать для улучшения пожалуйста?

ответ

1

Помещение ничего не говорит о том, как происходит возврат к точке появления, поэтому я предполагаю, что это одношаговое действие (т.е. вас не интересуют эти детали). Я вижу нечто большее по линиям

spawn loop: 
    spawn 
    goal loop: 
    determine if turtle already reached goal 
    if no, 
     determine if there are patches I can walk on 
     set eyes on nearest patch I can walk on (for the goal path) 
     if there is a friend nearby, approach friend 
     if there is no friend nearby, continue walking the goal path 
    if yes, 
     setup so can respawn (return to spawn loc, etc) 
     goal loop ends