from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class MyPage(Page): form_model = 'player' form_fields = ['contribution'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): group = self.group players = group.get_players() print('in payoff function') contributions = [p.contribution for p in players] print('contributions:', contributions) group.total_contribution = sum(contributions) group.individual_share = group.total_contribution * Constants.multiplier / Constants.players_per_group print('individual share', group.individual_share) for p in players: print('payoff before', p.payoff) p.payoff = Constants.endowment - p.contribution + group.individual_share print('payoff after', p.payoff) class Results(Page): pass page_sequence = [ MyPage, ResultsWaitPage, Results ]