Sessions
oTreeにおいて,sessionとは,複数のプレイヤーが参加している一連のタスク,もしくはゲームのことを指します.以下はsessionの一例です.
多数の参加者が実験室に集まり,公共財ゲームを以下のような質問文による実験を実施します.参加者は10.00ユーロを参加費として受け取り,さらにゲームの結果に応じて報酬を受け取ります.
Subsessions
sessionは複数のsubsessionの集まりです.つまり,subsessionとは,sessionを形作るセクション,もしくはモジュールということです.例えば,公共財ゲームの後にアンケートを実施するとすれば,公共財ゲームはsubsessionの1つ目であり,アンケートはsubsessionの2つ目,ということができます.それぞれのsubsessionは複数の"page"からなります.例えば,公共財ゲームのsubsessionの中に4ページあり,アンケートのsubsessionの中に2ページあるイメージです.
例えば,複数期繰り返すゲームであれば,各期をsubsessionとしてみなすことができます.
Groups
各subsessionはプレイヤーのグループに分けることができます.例えば,30人プレイヤーのsubsessionがあれば,2人組を15グループに分けることができます.
※グループはsubsessionの間でシャッフルすることができます.
Object hierarchy
oTreeには以下のような階層性があります.
sessionとは,subsessionの集合です.
subsessionには複数のgroupを含んでいます.
groupには,複数のプレイヤーを含んでいます.
各プレイヤーは複数のページで進めていきます.
Participant
oTreeにおいては,"player"と"participant"は違うものです."player"と"participant"の関係は,sessionとsubsessionの関係と同じようなものです.
playerは特定のsubsessionにおけるparticipantの呼び方です.playerはparticipantが果たす一時的な役のようなものです.あるparticipantは最初のsubsessionでplayer2に割り振られた後に,次のsubsessionではplayer1に割り振られると言ったようなものです.
What is "self"?
Pythonにおいて,self
は現在あなたが使用しているクラスのインスタンスを示しています.もし,今までにself
がある文脈においてどのような役割を果たしているのかわからなければ,classの名前を見つけるまでスクロールアップしてください.
以下の例では,self
はplayer
オブジェクトを反映しています.
次の例では,self
はGroup
オブジェクトを反映しています.
self
は概念的には,me
という言葉と同様の意味です.あなたはあなた自身をme
と呼んでいますが,他の人はあなたのことをあなたの名前で呼んでいます.そして,あなたの友達がme
という言葉を言った時には,あなたがme
という言葉を言った時とは違うことを意味しています.
例えば,もしあなたがplayer
クラスにいる場合,そのplayerのpayoffはself.payoff
として示すことができます.(なぜならば,self
はplayerを意味しているからです).しかし,もしあなたがviews.py
の中にあるPage
クラスにいる場合,同じことを意味するには,self.player.payoff
になります.ポインタはpageからplayerに移動します.
Self: extended examples
以下にはいくつかのコードの例を紹介します.
そして,models.py
は以下の通りです.
最後に,views.py
は以下の通りです.
https://otree.readthedocs.io/en/latest/conceptual_overview.html
Last updated