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