from Tools.scripts.make_ctype import values from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class ResultsWaitPage0(WaitPage): def after_all_players_arrive(self): self.subsession.some_method() pass class MyPage(Page): form_model = 'player' form_fields = ['De_1_a_100', 'De_101_a_200', 'De_201_a_300', 'De_301_a_400', 'De_401_a_500', 'De_501_a_600', 'De_601_a_700', 'De_701_a_800', 'De_801_a_900', 'De_901_a_1000'] def error_message(self, values): print('values is', values) if values["De_1_a_100"] + values["De_101_a_200"] + values["De_201_a_300"] + values["De_301_a_400"] + values[ "De_401_a_500"] + values["De_501_a_600"] + values["De_601_a_700"] + values["De_701_a_800"] + values[ "De_801_a_900"] + values["De_901_a_1000"] != 20: return 'The numbers must add up to 20' pass class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.subsession.some_method2() self.group.set_payoffs() pass class Results(Page): form_model = 'player' def vars_for_template(self): return { 'other_player_creencia1': self.player.other_player1().creencia, 'other_player_creencia2': self.player.other_player2().creencia, 'other_player_creencia3': self.player.other_player3().creencia, # 'avg_creencias': (self.player.other_player1().creencia + self.player.other_player2().creencia) / 2 'avg_creencias': round((self.player.other_player1().creencia + self.player.other_player2().creencia + self.player.other_player3().creencia) / 3, 0), 'pay': self.player.pay, 'num': self.subsession.random[self.round_number - 1] } pass class ResultsfinaƱ(Page): def is_displayed(self): return self.round_number == Constants.num_rounds form_model = 'player' def vars_for_template(self): return { 'other_player_creencia1': self.player.other_player1().creencia, 'other_player_creencia2': self.player.other_player2().creencia, 'other_player_creencia3': self.player.other_player3().creencia, # 'avg_creencias': (self.player.other_player1().creencia + self.player.other_player2().creencia) / 2 'avg_creencias': round((self.player.other_player1().creencia + self.player.other_player2().creencia + self.player.other_player3().creencia) / 3, 0), 'pay': self.player.in_round(self.session.vars['paying_round']).pago, 'num2': self.subsession.rand } pass page_sequence = [ ResultsWaitPage0, MyPage, ResultsWaitPage, Results, ResultsfinaƱ ]