from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random from django import forms class Constants(BaseConstants): name_in_url = 'Questionnaire' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): q_understanding = models.CharField(initial=None, choices=['1. まったく理解できなかった','2. あまり理解できなかった','3. どちらともいえない','4. そこそこ理解できた','5. とてもよく理解できた','答えない'], verbose_name='意思決定課題のルールを理解できましたか?', widget=forms.Select()) q_max_payoff = models.CharField(initial=None, choices=['1. まったく重視しなかった','2. あまり重視しなかった','3. どちらともいえない','4. そこそこ重視した','5. とても重視した','答えない'], verbose_name='あなたは自分の獲得ポイントを大きくすることを重視しましたか?', widget=forms.Select()) q_max_payoffsum = models.CharField(initial=None, choices=['1. まったく重視しなかった','2. あまり重視しなかった','3. どちらともいえない','4. そこそこ重視した','5. とても重視した','答えない'], verbose_name='あなたはグループ全体の獲得ポイントを大きくすることを重視しましたか?', widget=forms.Select()) q_avoid_disaster = models.CharField(initial=None, choices=['1. まったく重視しなかった','2. あまり重視しなかった','3. どちらともいえない','4. そこそこ重視した','5. とても重視した','答えない'], verbose_name='あなたは災害を防ぐことを重視しましたか?', widget=forms.Select()) q_estimate_others = models.CharField(initial=None, choices=['1. まったく予想しなかった','2. あまり予想しなかった','3. どちらともいえない','4. そこそこ予想した','5. とてもよく予想した','答えない'], verbose_name='あなたは相手の意思決定を予測しましたか?', widget=forms.Select()) q_decision_process = models.TextField(initial=None, verbose_name='あなたはどのようにA処理する廃棄物量を決めましたか?できるだけ具体的にお書きください。(自由記入)', max_length=200) q_decision_change = models.TextField(initial=None, verbose_name='あなたは1回目から12回目まで意思決定を繰り返していくうちに A処理する廃棄物量についての意思決定に変化がありましたか?できるだけ具体的にお書きください。(自由記入)', max_length=200) q_best_strategy = models.TextField(initial=None, verbose_name='実験を振り返ってみて、あなたは自分がどのような意思決定をすることがベストだと思いますか。できるだけ具体的にお書きください。(自由記入)', max_length=200) q_3R_first = models.CharField(initial=None, choices=['Recycle','Reduce','Refuse','Reuse','Repair','Respect','わからない'], verbose_name='一番重要だと考えられている単語はどれですか。', widget=forms.Select()) q_3R_second = models.CharField(initial=None, choices=['Recycle','Reduce','Refuse','Reuse','Repair','Respect','わからない'], verbose_name='2番目に重要だと考えられている単語はどれですか。', widget=forms.Select()) q_3R_third = models.CharField(initial=None, choices=['Recycle','Reduce','Refuse','Reuse','Repair','Respect','わからない'], verbose_name='3番目に重要だと考えられている単語はどれですか。', widget=forms.Select()) q_comment = models.TextField(initial=None, verbose_name='実験に参加して気づいたことやコメントなどをお書きください。なければ、「特になし」と記入してください。', max_length=300) correct_answers = models.IntegerField(initial=0) def calc_answers(self): if self.q_3R_first == 'Reduce': self.correct_answers += 1 if self.q_3R_second == 'Reuse': self.correct_answers += 1 if self.q_3R_third == 'Recycle': self.correct_answers += 1