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