Как изменить цвет конкретной черепахи, если она соответствует определенному цветному пятну? - PullRequest
0 голосов
/ 23 июня 2019

Есть белое пятно, 10 красных черепах и 10 синих черепах, которые движутся случайным образом. Если синяя черепаха приходит к белому пятну, я хочу изменить цвет ОДНОЙ черепахи на красный. Если другая белая черепаха придет к белому пятну, я хочу изменить цвет этой конкретной черепахи на красный тоже. Точно так же.

Я сделал код для этого. (Я могу варьировать количество патчей, синих и красных черепах в моем коде. Во-первых, есть только зеленые патчи. Когда одна красная черепаха приходит к зеленому патчу, зеленое патч становится белым. Я хочу сделать код такой, что если синяя черепаха приходит к белому пятну, затем синяя черепаха становится красной). К сожалению, в моем коде, если одна синяя черепаха приходит к белому пятну, тогда все синие черепахи становятся красными !. Я хочу изменить цвет этой ОДНОЙ конкретной черепахи на красный. Спасибо!

breed [cows cow]       ;Infected mosquitos
breed [sheep a-sheep]  ;Susceptible-Mosquitos

to setup
  clear-all
  set-default-shape cows "bug"
  set-default-shape sheep "bug"
  reset-ticks

  create-cows  Infected-Mosquitos-red ; cows=Infected mosquitos
   [
    set color red
   ]

create-sheep Susceptible-Mosquitos-blue
  ; sheep=Susceptible mosquitos
   [
    set color blue
   ]

ask turtles [
    set size 1
    set shape "bug"
    setxy random-xcor random-ycor
     ]

ask turtles[
      ifelse coin-flip?
          [ifelse coin-flip? [set heading 0][set heading 90]]
          [ifelse coin-flip? [set heading 180][set heading 270]]
     ]

ask n-of humans patches [set pcolor green]

   show Infected-Mosquitos-red
   show Susceptible-Mosquitos-blue

end

to go
  ask turtles
    [
       ifelse coin-flip?
          [ifelse coin-flip? [set heading 0][set heading 90]]
          [ifelse coin-flip? [set heading 180][set heading 270]]
       forward 1
      ask cows[
      if pcolor = green
          [
            set pcolor white
          show ticks
          ]
        ]
      ask sheep[
        if pcolor = white
          [
            ask sheep[
            set color red
            ]
        ]
    ]
  ]
    tick
end


to-report coin-flip?
  report random 2 = 0
end

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

...