как изменить направление черепах в петле - PullRequest
0 голосов
/ 05 марта 2020

каждый!

Я борюсь с изменением направления черепах, но я все еще не могу переместить их. Любые комментарии и предложения будут очень благодарны. Простое описание модели: есть три патча, они выстроены в ряд. Я создал несколько черепах в центре патча. Сначала я попытался переместить x черепах на тик в правый патч, и если черепахи на правом патче достигли своей емкости, то черепахи на центральном патче поменяют свое направление на левую сторону и переместят х черепах на тик влево патч, когда черепахи на левом патче достигают своей емкости, черепахи перестают двигаться.

Код указан ниже (емкость правого и левого исправлений равна Capacity1 и Capacity2, соответственно, максимальная емкость этих двух исправлений одинакова - MaximumCapacity):

to move-to-side                                                                
   ifelse CurrentCapacity1 < MaximumCapacity
   [
    ask n-of Max turtles-here  
    [
     lt 90 
     fd 1
    ]
   ]
   [
    ask n-of Max turtles-here
     [
      rt 90
      fd 1
     ]
   ]
end

to PatchCapacity
 ask patches with [ pcolor = 94.5 ]                                                        
  [
    if pxcor = 1 and pycor = 0
    [
      set CurrentCapacity1 (CurrentCapacity1 + count turtles-here)                    
    ]
    if pxcor = -1 and pxcor = 0
    [
      set CurrentCapacity2 (CurrentCapacity2 + count turtles-here)                           
    ]                                                          
  ]
end

to PatchCapacityOverFlow
  ask patches with [pcolor = 94.5]                                                       
  [
    if CurrentCapacity1 > MaximumCapacity                                                 
    [
      ask n-of (CurrentCapacity1 - MaximumStorage) turtles-here [die]                  
      set CurrentCapacity1 MaximumCapacity                                                    
    ]

    if CurrentCapacity2 > MaximumStorage                                                     
    [
      ask n-of (CurrentCapacity - MaximumCapacity) turtles-here [die]                  
      set CurrentCapacity2 MaximumCapacity                                                    
    ]
  ]
end
...