from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants import random import time # class SocialConfidence(Page): # form_model = 'player' # form_fields = ['social_confidence'] # class Introduction(Page): # def is_displayed(self): # return self.round_number == 1 # class ComprehensionCheck(Page): # form_model = 'player' # form_fields = ['comp_checkA', 'comp_checkB', 'comp_checkC', 'comp_checkD', 'comp_checkE'] # # def vars_for_template(self): # # return dict (comp_checkA = self.player.comp_checkA, comp_checkB = self.player.comp_checkB, comp_checkC = self.player.comp_checkC, comp_checkD = self.player.comp_checkD, comp_checkE = self.player.comp_checkE ) # class ComprehensionCheckFail(Page): # form_model = 'player' # def is_displayed(self): # return self.player.comp_checkA == 0 or self.player.comp_checkB == 1 or self.player.comp_checkC == 0 or self.player.comp_checkD == 0 or self.player.comp_checkE == 0 # class SelfConfidence(Page): # form_model = 'player' # form_fields = ['self_confidence'] # class Expectations(Page): # form_model = 'player' # form_fields = ['guess_others'] # class Choice(Page): # form_model = 'player' # form_fields = ['team_selection'] # class ChoiceWaitPage(WaitPage): # def after_all_players_arrive(self): # self.group.assign_team() # class Socialization(Page): # form_model = 'player' # form_fields = ['socialization'] class Check(Page): # form_model = 'player' # form_fields = ['zoom', 'assignment0', 'assignment1'] def vars_for_template(self): return dict (assigned_team = self.participant.vars['assigned_team']) class CheckWaitPage(WaitPage): pass class QuestionPage(Page): # timer_text = 'Testin bitmesine kalan süre' form_model = 'player' form_fields = ['q1', 'q2', 'q3', 'q4', 'q5', 'q6', 'q7', 'q8', 'q9', 'q10', 'q11', 'q12', 'q13', 'q14', 'q15', 'q16', 'q17', 'q18', 'q19', 'q20'] def get_timeout_seconds(self): return 180 def vars_for_template(self): return dict (assigned_team = self.participant.vars['assigned_team']) # return {'image_path': 'eyes/{}.jpg'.format(self.round_number)} # def vars_for_template(self): # players = self.subsession.get_players() # teammate_correct_answer = next( # c.rat_total_correct for c in players if c.id_in_group == self.player.participant.vars['id_in_group']) # return dict( # player_correct_answer = self.player.rat_total_correct, # team_correct_answer = teammate_correct_answer + player_correct_answer, # team_in_previous_round = self.player.player_choice == 1 # ) def before_next_page(self): self.player.set_performances0() # self.player.rat_total_correct=self.player.set_payoffs() # if self.timeout_happened: # self.player.answer = 0 # self.player.ans_correct = self.player.answer == Constants.answer_keys[self.round_number-1] # self.player.participant.vars['payoff_ravens'] += self.player.ans_correct * Constants.payment_per_question # if Constants.payment_in_points > 0: # self.player.payoff = self.player.ans_correct*Constants.payment_in_points # else: # self.player.payoff = (self.player.ans_correct*Constants.payment_per_question / # self.session.config['real_world_currency_per_point']) # to measure in point class QuestionPage2(Page): # timer_text = 'Testin bitmesine kalan süre' form_model = 'player' form_fields = ['q1', 'q2', 'q3', 'q4', 'q5', 'q6', 'q7', 'q8', 'q9', 'q10', 'q11', 'q12', 'q13', 'q14', 'q15', 'q16', 'q17', 'q18', 'q19', 'q20'] def get_timeout_seconds(self): return 300 def vars_for_template(self): return dict (assigned_team = self.participant.vars['assigned_team']) def before_next_page(self): self.player.set_performances() class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_guess_payoffs() self.group.set_payoffs() # class Results(Page): # form_model = 'player' class End(Page): def vars_for_template(self): return dict (assigned_team = self.participant.vars['assigned_team']) page_sequence = [ # SocialConfidence, # Introduction, # ComprehensionCheck, # ComprehensionCheckFail, # SelfConfidence, # Expectations, # Choice, # ChoiceWaitPage, # Socialization, Check, CheckWaitPage, QuestionPage, QuestionPage2, ResultsWaitPage, End ]