netlogo - How to stop two breeds of turtles from repeating the same command? -


this first time posting, criticism appreciated! started netlogo recently, , have move way model working on. model suppose evaluate farmers join a) ecommerce or b) traditional means. both, ecommerce , traditional commerce increase farmers' wellbeing differently.

ideally, these 2 breeds of turtles join ecommerce or traditional commerce. turtles joined ecommerce evaluate if wellbeing better off once joined ecommerce. if not, traditional commerce turtle , join it. turtles went traditional commerce should decide join ecommerce if there other turtles using ecommerce in proximity. still don't have part of code since stuck on one. unfortunately, part of code:

set wellbeing wellbeing + traditional-wellbeing-value

makes turtles' wellbeing increase every tick on time. looking way prevent turtles increasing wellbeing on , on again. then, have each turtle evaluate current wellbeing , decide move if needed. below code i've come far:


globals [ area max-farmers max-patches ]  breed [ farmers farmer ]  ;  breed [ ecommerce ecommerces ] breed [ traditional traditionals] turtles-own [ wellbeing    velocity ]   setup     clear-all     set max-patches 100     set-default-shape farmers "person"     create-farmers initial-number-farmers ; farmers  [     set color white     set size 2  ;     set label-color blue - 2     set wellbeing 1     set velocity 2     setxy random-xcor random-ycor   ]      set-default-shape ecommerce "plant"     create-ecommerce initial-number-ecommerces ; ecommerce agricultural  turtles [         set color red         set size 2         set label-color blue - 2         set wellbeing 5         set velocity 0         let ewellbeing ecommerce-wellbeing-value         setxy random-xcor random-ycor         create-link-with one-of farmers  ]      set-default-shape traditional "plant"     create-traditional initial-number-traditionals ; traditional agrigultural turtles [     set color blue     set size 2     set wellbeing 1     set velocity 0     let twellbeing wellbeing + 1     setxy random-xcor random-ycor     create-link-with one-of farmers   ]     ask patches [ set pcolor green ]    display-labels   reset-ticks  end  go    ask farmers [   move     join-ecommerce     join-traditional ] end   move  ; turtle procedure    if velocity = 2 [   ask farmers [   rt random 50   lt random 50   fd 1   ]   ] ;;;;;;;problem begins;;;;;;;;       if velocity = 0 [       ask myself       [       stop       ]     ]     let ready-to-move (wellbeing < 10)       ask other turtles [ wellbeing < 10 ]            let candidates traditionals in-radius 5           if any? candidates [             let target min-one-of candidates [distance myself]               move-to target       ]       tick       display-labels  end   join-ecommerce   let prey one-of ecommerce-here                        if prey != nobody                              [ set wellbeing wellbeing + ecommerce-wellbeing-value ; improve  wellbeing     set velocity farmer 0]  end  join-traditional   let prey one-of traditional-here                    ;    if prey != nobody                             ;        [ set wellbeing wellbeing + traditional-wellbeing-value         set velocity farmer 0] ; improve wellbeing  end  display-labels   ask turtles [ set label "" ]   if show-wellbeing? [     ask farmers [ set label round wellbeing ]   ] end 

many in advance!


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -