from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants import statistics import math #1周目 class WaitForShuffle(WaitPage): wait_for_all_groups = True after_all_players_arrive = 'creating_rounds' class NextRound1(Page): def vars_for_template(self): return dict(round_number=self.round_number) class VictimQ1(Page): form_model = 'player' form_fields = ['feelings1_1'] def vars_for_template(self): return dict(id_in_group=self.player.id_in_group) class DivisionInfo(Page): pass class WaitForPlayers(WaitPage): pass class IncomeDivisionQ1(Page): form_model = 'player' form_fields = ['divisionQue1'] class WaitingForTheGovernemnt(WaitPage): after_all_players_arrive = 'set_division' class IncomeDivisionR0(Page): def vars_for_template(self): return dict(divisionQ1=self.group.divisionQ1) form_model = 'player' form_fields = ['feelings1_2'] class Game1Info2(Page): def is_displayed(self): return self.player.id_in_group == 2 class Game1Info3(Page): def is_displayed(self): return self.player.id_in_group == 3 class Game1_2(Page): timeout_seconds = 30 form_model = 'player' form_fields = ['ans1A', 'ans1B', 'ans1C', 'ans1D', 'ans1E', 'ans1F', 'ans1G', 'ans1H', 'ans1I', 'ans1J', 'ans1K', 'ans1L', 'ans1M', 'ans1N', 'ans1O', 'ans1P', 'ans1Q', 'ans1R', 'ans1S', 'ans1T', 'ans1U', 'ans1V', 'ans1W', 'ans1X', 'ans1Y', 'ans1Z' ] def vars_for_template(self): return dict( ans1A_label = '{}を打ってください。'.format(self.player.que1A), ans1B_label = '{}を打ってください。'.format(self.player.que1B), ans1C_label = '{}を打ってください。'.format(self.player.que1C), ans1D_label = '{}を打ってください。'.format(self.player.que1D), ans1E_label = '{}を打ってください。'.format(self.player.que1E), ans1F_label = '{}を打ってください。'.format(self.player.que1F), ans1G_label = '{}を打ってください。'.format(self.player.que1G), ans1H_label = '{}を打ってください。'.format(self.player.que1H), ans1I_label = '{}を打ってください。'.format(self.player.que1I), ans1J_label = '{}を打ってください。'.format(self.player.que1J), ans1K_label = '{}を打ってください。'.format(self.player.que1K), ans1L_label = '{}を打ってください。'.format(self.player.que1L), ans1M_label = '{}を打ってください。'.format(self.player.que1M), ans1N_label = '{}を打ってください。'.format(self.player.que1N), ans1O_label = '{}を打ってください。'.format(self.player.que1O), ans1P_label = '{}を打ってください。'.format(self.player.que1P), ans1Q_label = '{}を打ってください。'.format(self.player.que1Q), ans1R_label = '{}を打ってください。'.format(self.player.que1R), ans1S_label = '{}を打ってください。'.format(self.player.que1S), ans1T_label = '{}を打ってください。'.format(self.player.que1T), ans1U_label = '{}を打ってください。'.format(self.player.que1U), ans1V_label = '{}を打ってください。'.format(self.player.que1V), ans1W_label = '{}を打ってください。'.format(self.player.que1W), ans1X_label = '{}を打ってください。'.format(self.player.que1X), ans1Y_label = '{}を打ってください。'.format(self.player.que1Y), ans1Z_label = '{}を打ってください。'.format(self.player.que1Z), ) def is_displayed(self): return self.player.id_in_group ==2 class Game1_3(Page): timeout_seconds = 30 form_model = 'player' form_fields = ['ans1A', 'ans1B', 'ans1C', 'ans1D', 'ans1E', 'ans1F', 'ans1G', 'ans1H', 'ans1I', 'ans1J', 'ans1K', 'ans1L', 'ans1M', 'ans1N', 'ans1O', 'ans1P', 'ans1Q', 'ans1R', 'ans1S', 'ans1T', 'ans1U', 'ans1V', 'ans1W', 'ans1X', 'ans1Y', 'ans1Z' ] def vars_for_template(self): return dict( ans1A_label = '{}を打ってください。'.format(self.player.que1A), ans1B_label = '{}を打ってください。'.format(self.player.que1B), ans1C_label = '{}を打ってください。'.format(self.player.que1C), ans1D_label = '{}を打ってください。'.format(self.player.que1D), ans1E_label = '{}を打ってください。'.format(self.player.que1E), ans1F_label = '{}を打ってください。'.format(self.player.que1F), ans1G_label = '{}を打ってください。'.format(self.player.que1G), ans1H_label = '{}を打ってください。'.format(self.player.que1H), ans1I_label = '{}を打ってください。'.format(self.player.que1I), ans1J_label = '{}を打ってください。'.format(self.player.que1J), ans1K_label = '{}を打ってください。'.format(self.player.que1K), ans1L_label = '{}を打ってください。'.format(self.player.que1L), ans1M_label = '{}を打ってください。'.format(self.player.que1M), ans1N_label = '{}を打ってください。'.format(self.player.que1N), ans1O_label = '{}を打ってください。'.format(self.player.que1O), ans1P_label = '{}を打ってください。'.format(self.player.que1P), ans1Q_label = '{}を打ってください。'.format(self.player.que1Q), ans1R_label = '{}を打ってください。'.format(self.player.que1R), ans1S_label = '{}を打ってください。'.format(self.player.que1S), ans1T_label = '{}を打ってください。'.format(self.player.que1T), ans1U_label = '{}を打ってください。'.format(self.player.que1U), ans1V_label = '{}を打ってください。'.format(self.player.que1V), ans1W_label = '{}を打ってください。'.format(self.player.que1W), ans1X_label = '{}を打ってください。'.format(self.player.que1X), ans1Y_label = '{}を打ってください。'.format(self.player.que1Y), ans1Z_label = '{}を打ってください。'.format(self.player.que1Z), ) def is_displayed(self): return self.player.id_in_group == 3 class ResultsWaitPage1(WaitPage): after_all_players_arrive = 'set_earning1' class ResultsWaitPage2(WaitPage): after_all_players_arrive = 'set_borders1' class Game1Results1(Page): def vars_for_template(self): return dict(id_in_group = self.player.id_in_group, border1 = self.player.border1) class Game2Info(Page): pass class Game2(Page): timeout_seconds = 30 form_model = 'player' form_fields = ['ans2A', 'ans2B', 'ans2C', 'ans2D', 'ans2E', 'ans2F', 'ans2G', 'ans2H', 'ans2I', 'ans2J', 'ans2K', 'ans2L', 'ans2M', 'ans2N', 'ans2O', 'ans2P', 'ans2Q', 'ans2R', 'ans2S', 'ans2T', 'ans2U', 'ans2V', 'ans2W', 'ans2X', 'ans2Y', 'ans2Z' ] def vars_for_template(self): return dict( ans2A_label = '{}を打ってください。'.format(self.player.que2A), ans2B_label = '{}を打ってください。'.format(self.player.que2B), ans2C_label = '{}を打ってください。'.format(self.player.que2C), ans2D_label = '{}を打ってください。'.format(self.player.que2D), ans2E_label = '{}を打ってください。'.format(self.player.que2E), ans2F_label = '{}を打ってください。'.format(self.player.que2F), ans2G_label = '{}を打ってください。'.format(self.player.que2G), ans2H_label = '{}を打ってください。'.format(self.player.que2H), ans2I_label = '{}を打ってください。'.format(self.player.que2I), ans2J_label = '{}を打ってください。'.format(self.player.que2J), ans2K_label = '{}を打ってください。'.format(self.player.que2K), ans2L_label = '{}を打ってください。'.format(self.player.que2L), ans2M_label = '{}を打ってください。'.format(self.player.que2M), ans2N_label = '{}を打ってください。'.format(self.player.que2N), ans2O_label = '{}を打ってください。'.format(self.player.que2O), ans2P_label = '{}を打ってください。'.format(self.player.que2P), ans2Q_label = '{}を打ってください。'.format(self.player.que2Q), ans2R_label = '{}を打ってください。'.format(self.player.que2R), ans2S_label = '{}を打ってください。'.format(self.player.que2S), ans2T_label = '{}を打ってください。'.format(self.player.que2T), ans2U_label = '{}を打ってください。'.format(self.player.que2U), ans2V_label = '{}を打ってください。'.format(self.player.que2V), ans2W_label = '{}を打ってください。'.format(self.player.que2W), ans2X_label = '{}を打ってください。'.format(self.player.que2X), ans2Y_label = '{}を打ってください。'.format(self.player.que2Y), ans2Z_label = '{}を打ってください。'.format(self.player.que2Z), ) class ResultsWaitPage3(WaitPage): after_all_players_arrive = 'set_earning2' class ResultsWaitPage4(WaitPage): after_all_players_arrive = 'set_borders2' class ResultsWaitPage5(WaitPage): after_all_players_arrive = 'set_payoffs' class Results1(Page): form_model = 'player' form_fields = ['feelings1_3'] def vars_for_template(self): return dict(payoff=self.player.payoff, round_number=self.round_number) page_sequence = [WaitForShuffle, NextRound1, VictimQ1, Game1Info2, Game1Info3, Game1_2, Game1_3, ResultsWaitPage1, ResultsWaitPage2, Game1Results1, DivisionInfo, WaitForPlayers, IncomeDivisionQ1, WaitingForTheGovernemnt, IncomeDivisionR0, Game2Info, Game2, ResultsWaitPage3, ResultsWaitPage4, ResultsWaitPage5, Results1 ]