《Netlogo多主體建模入門》筆記5

5- 從羊-草生態系統深刻Turtle與Plot畫圖
 
  • 對圖或者運行窗口 點擊右鍵, 選定以後,能自由縮放大小、拖動位置
 
 
 
觀測某個 turtle
 
  • inspect ----- 監視 turtle 的詳細信息
 
  • watch-----在圖中標記 turtle 的運動
 
  • follow ----- 跟隨該 turtle
 
如何繪圖?
 
下拉選圖,而後添加
 
自動調整尺度: 自動調整橫縱座標軸的取值範圍
顯示圖例:就是顯示每條線的顏色和表明了什麼
 
繪圖筆的名稱 最好用英文,由於涉及到函數調用
 
能夠改變線條的顏色
 
 
Plot繪圖 須要設置 tick
否則圖沒法和模型的時間同步,就沒法做圖
 
代碼:
 
turtles-own [energy] ;; 須要給turtles新建一個屬性
 
to setup
  clear-all
  ask patches[
    if random-float 1 < 0.2[
    set pcolor green  ;;隨機長草
    ]
  ]
  create-turtles 1[
    set energy 100  ;;給個初始化的能量值
  ]
  reset-ticks
end
 
to go 
  add_food ;; 每一步都要讓草長出來
  ask turtles[
    turtle_move  ;; 函數調用
    turtle_breed
    turtle_die
  ]
  tick
end
 
to add_food  ;; 長草=添加食物
  ask n-of 10 patches[  ;; 隨機取出10個patch
    set pcolor green
  ]
end
 
 
to turtle_move  ;; 移動
  if pcolor = green [
   set energy energy + 10  ;; 吃草
    set pcolor black
  ]
  if random-float  1 < 0.2 [
    set heading random 360  ;; 有必定的機率隨機改變方向
  ]
  set energy energy - 1 ;;每走一步,能量減小 
  fd 1 ;;向前移動 
end
 
to turtle_breed  ;; 繁殖
  if energy > 500[
   set energy energy - 450
    hatch 1[ ;; 生育出一頭小羊
     fd 1
      set energy 100  ;; 小羊的初始能量
    ]
  ]
end
 
to turtle_die  ;; 沒能量就死亡
  if energy <= 0 [
    die 
  ]
end
相關文章
相關標籤/搜索