from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random class addNumbers(Page): form_model = 'player' form_fields = ['number_entered'] # genderate five random numbers def vars_for_template(self): number1 = random.randint(10, 99) number2 = random.randint(10, 99) number3 = random.randint(10, 99) number4 = random.randint(10, 99) number5 = random.randint(10, 99) self.player.answer = number1 + number2 + number3 + number4 + number5 return { 'number1': number1, 'number2': number2, 'number3': number3, 'number4': number4, 'number5': number5, } #check if answer is correct and add payoff def before_next_page(self): if self.player.answer == self.player.number_entered: self.player.payoff = Constants.payment_per_correct_answer class Results(Page): pass class CombinedResults(Page): def is_displayed(self): return self.round_number == Constants.num_rounds #if self.round_number == Constants.num_rounds: #return True #else: #return False def vars_for_template(self): all_players = self.player.in_all_rounds() total_payoff = 0 for player in all_players: total_payoff += player.payoff return { 'total_payoff': total_payoff } page_sequence = [addNumbers, Results, CombinedResults]