⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ---final.nlogo

📁 NETLOGO
💻 NLOGO
📖 第 1 页 / 共 2 页
字号:
breeds [tt]tt-own [  trustworth  intrest  heard]patches-own [  neighbors-nowrap  ;; agentset of patches that are neighbors without wrapping around                    ;; the edge of the world]globals [kornseveralseveral2several3  number  naiv  temp temp1 temp2 crap randommodexstartystart         i         j         k         l         m         n         o         p         q         r         temp-list1]to setup-onecaset randommode 0set several 0set several2 0set several3 0 set number 35ifelse number < 19[set xstart -15set ystart -15][set xstart 0set ystart 0]  set-default-shape tt "person"  calc  ask patches    [ set pcolor grey - 3       set korn placett    ifelse eight-mode?           [set neighbors-nowrap neighbors with [abs (pxcor - pxcor-of myself) <= 1 and                                         abs (pycor - pycor-of myself) <= 1]]          [set neighbors-nowrap neighbors4 with [abs (pxcor - pxcor-of myself) <= 1 and                                         abs (pycor - pycor-of myself) <= 1]]    ]     if Rumor  [ask tt-at xstart ystart [ set color white]]  do-plotsendto setup-random  ca  set randommode 1  set several 0  set several2 0  set several3 0 set number 35ifelse number < 19[set xstart -15set ystart -15][set xstart 0set ystart 0]  set-default-shape tt "person"  calc  ask patches    [ set pcolor grey - 3       set korn placett      ifelse eight-mode?           [set neighbors-nowrap neighbors with [abs (pxcor - pxcor-of myself) <= 1 and                                         abs (pycor - pycor-of myself) <= 1]]          [set neighbors-nowrap neighbors4 with [abs (pxcor - pxcor-of myself) <= 1 and                                         abs (pycor - pycor-of myself) <= 1]]    ]     if Rumor  [set temp 0  while [temp < 5]   [ask tt-at random  35 random  35 [ set color white]    set temp temp + 1]]    do-plotsendto go ifelse Rumor   [ifelse randommode = 0     [       ask tt-at xstart ystart     [ set trustworth Rumor-trustworthy      set intrest Rumor-intesting      ifelse random 30 < (naiv + trustworth + intrest ) or                      (naiv + trustworth + intrest ) > 30       [set color magenta + 2         ifelse random 20 < (naiv - intrest)          [if intrest < 10 and trustworth < 10            [set temp1 intrest + random 2             set temp2 trustworth + random 2]]            [set temp1 intrest             set temp2 trustworth]        ask tt-on random-n-of round((naiv + intrest)/ 6 ) neighbors-nowrap        [if color = (violet + 1 )          [set color white          set intrest temp1           set trustworth temp2           set heard 1 ]]]       [set color turquoise + 2]]       while [any? (turtles with [color = white])]       [ ask (turtles with [color = white])         [wait 0.2         spread]]]    [while [any? (turtles with [color = white])]       [ ask (turtles with [color = white])         [set trustworth Rumor-trustworthy          set intrest Rumor-intesting          set heard 1         wait 0.2         spread]]]]  [ask tt [set shape "person graduate"]]  do-plotsendto spread  ifelse random 50 < (naiv + trustworth + intrest + ( heard * (naiv / 3))) or                                         (naiv + trustworth + intrest + ( heard * (naiv / 3))) > 50       [set color magenta + 2       ifelse random 20 < (naiv - intrest)          [if intrest < 10 and trustworth < 10            [set temp1 intrest + random 2             set temp2 trustworth + random 2]]            [set temp1 intrest             set temp2 trustworth]          set crap 0        set crap ceiling ((naiv * intrest) / 40 )                ifelse eight-mode?        [ifelse crap > 8          [set crap 0          set crap random 9]          [ifelse count neighbors-nowrap = 5            [set crap 0            set crap random 6]            [if count neighbors-nowrap = 3              [set crap 0              set crap random 4]]]]        [ifelse crap > 4          [set crap 0          set crap random 5]          [ifelse count neighbors-nowrap = 3            [set crap 0            set crap random 4]            [if count neighbors-nowrap = 2              [set crap 0              set crap random 3]]]]        ask tt-on random-n-of crap neighbors-nowrap         [if color = (violet + 1 )          [set color white          set intrest temp1           set trustworth temp2]         if color = (turquoise + 2 )           [set heard (heard + 1)           if heard = 2             [set several several + 1]         if heard = 3             [set several2 several2 + 1]         if heard = 4             [set several3 several3 + 1]           set color white]]]       [set color turquoise + 2]       do-plotsendto calc     set temp-list1 []     set j floor (35 / number)    set m -17         set temp-list1 lput m temp-list1    set m m + j         while [m < 18]    [       set temp-list1 lput m temp-list1      set m m + j        ]   endto-report placett  set i 0  set k 0  set l 0  set o 0  set n 0  set p 0  set q 0  set r 0    set i pxcor  set k pycor    set naiv 0   while [l < number]  [    set n item l temp-list1          ifelse i = n ;and k = n    [      while [p < number]      [        set q item p temp-list1                ifelse k = q        [set p number         set o 1]        [set p p + 1]      ]          set l number        ]       [set l l + 1]  ]    ifelse o = 1    [set korn 1]    [set korn 0]    if korn = 1  [;ask patches  ;[korn = 1] ;[pxcor mod number = 0 and                              ; pycor mod number = 0]     sprout-tt 1        [           set color violet + 1          set size (35 / number) - .1          set naiv random 20            set heard 0         ]                 ]   report korn  end  to do-plots  set-current-plot "Rumor Spread"  plot ((count turtles with [color = magenta + 2] + count turtles with [color = turquoise + 2])/ (35 * 35)) * 100  set-current-plot "Proportions"  set-current-plot-pen "Believers"  plot (count turtles with [color = magenta + 2] / (35 * 35)) * 100  set-current-plot-pen "Non-believers"  plot (count turtles with [color = turquoise + 2] / (35 * 35)) * 100  set-current-plot-pen "Havn't-heard"  plot ((count turtles with [color = violet + 1])/ (35 * 35)) * 100 end@#$#@#$#@GRAPHICS-WINDOW23025660476171712.01101110111CC-WINDOW5704680799Command Center0BUTTON385212685setup-onesetup-oneNIL1TOBSERVERTNILSLIDER33407205440Rumor-intestingRumor-intesting0101011NILSLIDER33372205405Rumor-trustworthyRumor-trustworthy0101011NILSWITCH33337136370RumorRumor01-1000BUTTON58220162306NILgoNIL1TOBSERVERTNILSWITCH36137160170eight-mode?eight-mode?01-1000BUTTON3895147128setup-randomsetup-randomNIL1TOBSERVERTNILPLOT32490256639Rumor spreadno of persons%0.0100.00.0100.0truefalsePENS"default" 1.0 0 -13791810 truePLOT259490578639Proportionsno of persons%0.0500.00.0100.0truetruePENS"Believers" 1.0 0 -5825686 true"Non-believers" 1.0 0 -14835848 true"Havn't-heard" 1.0 0 -8630108 trueMONITOR581490

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -