鍾肯尼 – 教學網

【netlogo教學】第2章:使用者介面與常用語法設定

一、新增按鈕

Netlogo 很常會用不同按鈕來設定模擬情境,而類似網頁的Button,netlogo 的按鈕也會對應到一個功能。

(一)新增按鈕

  1. 按下在上方工具列的「添加」旁邊的「按鈕」
  2. 為按鈕命名
  3. 輸入按下按鈕要執行的程式名稱
netlogo-新增按鈕
netlogo-新增按鈕

(二)撰寫按鈕功能並對應

在新增按鈕的時候,需要指定命令,也就是按下按鈕要執行的程式名稱,如果輸入一個還未在代碼介面裡面的函式名稱的話,按鈕的文字會是紅色的,提醒我們要指定已存在的函式。

另外,在新增按鈕時,下方還有一個顯示名稱的設定,這裡就跟要執行的程式無關,單純是按鈕上的文字,可以自由設定。例如下圖,按鈕名稱是設定,按下後會執行setup函式

netlogo-新增按鈕-按鈕命名與對應程式
netlogo-新增按鈕-按鈕與對應程式

(三)持續執行與單次執行的差別

在新增按鈕的時候,有一個核取方塊是持續執行。持續執行就是程式會一直執行,也就是這個按鈕裡面的事件會不斷被執行。常見的用法是有一個setup 按鈕做各種初始化設定,接著有一個go按鈕會一直執行,藉以進行模擬。

netlogo-新增按鈕-持續執行選項

二、常用語法 ask patches / ask turtles

【netlogo教學】第一章:什麼是netlogo?什麼是ABM(Agent-Based Modeling)?有提到,netlogo主要有patch和turtle,而通常我們會對這些元素撰寫程式碼做控制。

要對patch做一些事:ask patches

ask patches [ 要patch執行的程式 ]

要對turtle做一些事:ask turtles

ask turtles [ 要turtle執行的程式 ]

初始化設定:ca ( clear-all ,清除全部的簡寫),通常在setup的時候,會先清除前次模擬的成果,用的就是ca這個語法。

三、程式範例

將每個patch都設為黃色,並在上面產生一個藍色的turtle。

patch和turtle的關係是,turtle會在某個patch上,turtle的產生也要指定他要誕生在哪個patch上。

  1. 先用ca來清除之前的結果
  2. 將所有patch設為黃色
  3. 每個patch產生(sprout)一個turtle,並設定顏色為藍色
to setup
   ca
   ask patches [
     set pcolor yellow
     sprout 1 [ set color blue ]
   ]
 end
netlogo程式範例-設定patch和turtle顏色

更多netlogo教學系列
上一篇:【netlogo教學】第1章:什麼是netlogo?什麼是ABM(Agent-Based Modeling)?

下一篇:【netlogo教學】第3章:netlogo的座標系統設定與循環世界


若有教學或其他合作需求,歡迎來信 nbablissfully@hotmail.com 詳談


小額支持鍾肯尼

如果我的文章有幫助到你,歡迎你點這裡開啟只要40元的小額贊助連結,可以贊助我一杯咖啡錢;我會更有動力繼續寫作,幫助大家解決更多問題。

Exit mobile version