2015-02-18 2 views
0

Привет я пытался сделать некоторые черепахи отказов в моем коде, но, видимо, моя процедура не работает:Отскок черепах в NetLogo

to bounce 
    if [pcolor] of patch-at dx 400 = white [ 
    set heading (- heading) 
    ] 
    if [pcolor] of patch-at 400 dy = white [ 
     set heading (180 - heading) 
    ] 
    if abs pxcor = max-pxcor 
    [ set heading (- heading) ] 
     if abs pycor = (pycor = 25) 
    [ set heading (180 - heading) ] 
    end 

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

+0

см дребезга пример в разделе Примеры кода из библиотеки моделей NetLogo в –

ответ

1

код ОК, просто заменить (pycor = 25) с max-pycor:

if [pcolor] of patch-at dx 400 = white [ 
    set heading (- heading) 
    ] 
    if [pcolor] of patch-at 400 dy = white [ 
     set heading (180 - heading) 
    ] 
    if abs pxcor = max-pxcor 
    [ set heading (- heading) ] 
; if abs pycor = (pycor = 25) 
    if abs pycor = max-pycor 
    [ set heading (180 - heading) ] 
Смежные вопросы