from otree.api import * import random from ._builtin import Page, WaitPage from.models import Constants doc = """ Your app description """ # PAGES class AddNumbers(Page): form_model = "player" form_fields = ["number_entered"] def vars_for_template(self): number_1 = random.randint(1,100) number_2 = random.randint(1,100) self.player.sum_of_numbers = number_1 + number_2 return { "number_1": number_1, "number_2": number_2, } def before_next_page(self): if self.player.sum_of_numbers == self.player.number_entered: self.player.payoff = C.PAYMENT_PER_CORRECT_ANSWER class ResultsWaitPage(WaitPage): pass class Results(Page): pass class CombinedResults(Page): def is_displayed(self): return self.round_number == C.NUM_ROUNDS def vars_for_template(self): all_players = self.player.in_all_rounds() combined_payoff = 0 for player in all_players: combined_payoff += player.payoff return { "combined_payoff":combined_payoff } page_sequence = [AddNumbers, Results, CombinedResults]