from otree.api import * import random c = Currency doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'addnumbers' players_per_group = None num_rounds = 2 payment_per_correct_answer = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.IntegerField(label="Please Add") gender = models.StringField( label="Dein Geschlecht", choices=["Male", "Female"] ) is_left_handed = models.BooleanField( label="Jao der Ne?", choices=[[True, "Yes"]] ) numbr_enterd = models.IntegerField(label="Please Add") sum_numbers = models.IntegerField() # PAGES class MyPage(Page): pass class ResultsWaitPage(WaitPage): pass class Results(Page): @staticmethod def is_displayed(player: Player): return player.round_number == Constants.num_rounds def vars_for_template(player: Player): all_players = player.in_all_rounds() print(all_players) sum_points = 0 for player in all_players: sum_points += player.payoff print(player.payoff) return { "sum_points": sum_points } class AddNumber(Page): form_model = "player" form_fields = ["numbr_enterd"] def vars_for_template(player: Player): number1 = random.randint(1,10) number2 = random.randint(1,10) player.sum_numbers = number1 + number2 return { "number1": number1, "number2": number2 } def before_next_page(player: Player, timeout_happened): if player.sum_numbers == player.numbr_enterd: player.payoff += Constants.payment_per_correct_answer page_sequence = [AddNumber, Results]