from typing import List from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import numpy as np class Choice(Page): form_model = 'player' form_fields = ['numchoice'] class Charity(Page): def is_displayed(self): return self.round_number == 1 form_model = 'player' form_fields= ['charity_yn', 'charitychoice'] class CharityWaitPage(WaitPage): def is_displayed(self): return self.round_number == 1 class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): group = self.group players = group.get_players() num = [p.numchoice for p in players] group.min = min(num) group.minnumber = group.min - 1 for p in players: p.earn = Constants.payofflist.item((group.minnumber, p.numchoice - 1)) class Results(Page): pass #class FinalPayment(Page): #pass page_sequence = [ Charity, CharityWaitPage, Choice, ResultsWaitPage, Results ]