ここではよく使う関数、その使い方をアルファベット順に紹介する。
イタリック体の部分は適当に変更可。
関数名の後に ( ) がある場合は、その省略名でプログラミングできる。
なお、使用例は公式サイトのマニュアルから引用している。
フロー管理
ask
使い方:ask 対象 [ 処理内容 ]
単一、もしくは複数のエージェントに命令を出す際に使用する。
使用例:
ask turtles [ fd 1 ]
;; 全てのタートルが1歩進む
ask patches [ set pcolor red ]
;; 全てのパッチの色を赤くする
ask turtle 4 [ rt 90 ]
;; 4番目のタートルだけ向きを90度変える
end
使い方:
to 名前 処理内容 end
to、to-reportの最後に使用する。
toを参照。
if
使い方:if 条件 [ 処理内容 ]
条件文が真のときのみ処理内容を実行する。
ifelse
使い方:if 条件 [ 処理内容1 ] [ 処理内容2 ]
条件文が真のときに処理内容1、偽のときに処理内容2が実行される。
repeat
使い方:repeat 回数 [ 処理 ]
回数分だけ処理を繰り返す。
set
使い方:set 変数 [ 値 ]
変数に値を代入する際に使用する。
to
使い方:to 名前 処理内容 end
新しい処理(C言語で言うサブルーチン)を記述する際に使用する。
to-report
使い方:to-report [引数] 名前
処理内容 report 返り値 end
to同様、新しい処理を記述する際に使用する。
こちらは引数が利用可能、返り値を必要とする。
while
使い方:while 条件 [ 処理内容 ]
条件文が真の間、処理内容が実行される。
タートル関連
back (bk)
使い方:
back 数
数の分だけタートルを後退させる。数がマイナスの場合は前進する。
forwardも参照。
create-turtles (crt)
使い方:create-turtles 数
数の分だけ新しくタートルを作り出す。
distance
使い方:distance エージェント
指定したエージェントとの距離を計算する。
使用例:
ask turtles [ show max-one-of turtles [distance myself] ]
;; 各タートルに、自分から一番遠いタートルを表示させる
forward (fd)
使い方:
back 数
数の分だけタートルを前進させる。数がマイナスの場合は後退する。
backも参照。
left (lt)
使い方:
left 角度
角度の分だけ左に回転する。角度がマイナスの場合は右に回転する。
rightも参照。
random-xcor / random-ycor
使い方:random-xcor / random-ycor
2D画面内の座標をランダムに返す。random-pxcor / random-pycor も参照。
使用例:
ask turtles [
;; 各タートルをランダムな位置に配置する
setxy random-xcor random-ycor
]
right (rt)
使い方:
right 角度
角度の分だけ右に回転する。角度がマイナスの場合は左に回転する。
leftも参照。
演算関連
random
使い方:random 数字
0から数字までの整数をランダムに返す。
2D画面
clear-all (ca)
画面を全て消去する際に使用する。
clear-patches (cp)
パッチのみを初期化、画面から消去する。
clear-turtles (ct)
タートルのみを初期化、画面から消去する。
キーワード
各処理を書く前、プログラムの冒頭でのみ使用できる。
breed
使い方:breed 複数形 単数形
ブリード(タートルを種類別に分けるもの)を定義する際に使用する。
最初の引数にはブリードの複数形の名前、次は単数形の名前を指定する。
使用例:
breed [mice mouse]
breed [frogs frog]
to setup
clear-all
create-mice 50
ask mice [ set color white ]
create-frogs 50
ask frogs [ set color green ]
show [breed] of one-of mice ;; prints mice
show [breed] of one-of frogs ;; prints frogs
end
extensions
使い方:
extensions [ 拡張機能名 ... ]
拡張機能を使用する際に使用する。
拡張機能参照。
globals
使い方:globals [ 変数 ... ]
グローバル変数を定義する際に使用する。
turtles-own / <breeds>-own / patches-own
使い方:turtles-own [ 変数 ... ]
<breeds>-own [ 変数 ... ]
patches-own [ 変数 ... ]
各タートル、ブリード、パッチにそれぞれ変数を持たせる際に使用する。
<breeds> 内にはそのプログラム内で定義したブリード名を入れる。
その他
show
使い方:show 変数
コマンドセンターに変数の値を出力する。
;
コメントを挿入する際に使用する。つけた部分から行末までがコメントとなる。