from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants, np class Welcome(Page): def is_displayed(self): return self.round_number == 1 class Decision_1(Page): form_model = 'player' def get_form_fields(self): form_fields = [] for i in range(1, self.session.config['num_stag'] + 1): form_fields.append('g' + str(i) + '_action') form_fields.append('action') return form_fields def vars_for_template(self): num_games = self.session.config['num_stag'] form_fields = [] for i in range(1, num_games + 1): form_fields.append('g' + str(i) + '_action') payoffs = self.session.vars['stag_games'] game_list = [] game_index = list(range(1, num_games + 1)) action_index = [] labels = ['A', 'B', 'C', 'D'] for i in game_index: game_list.append(payoffs[str(i)]) action_index.append(form_fields[i - 1]) games = list(zip(game_list, action_index, labels)) return { 'num_games': num_games, 'games': games, 'push': self.session.config['debug'], 'time': self.session.config['time'] } class NewPhase(Page): def before_next_page(self): self.player.set_points() page_sequence = [ Welcome, Decision_1, NewPhase, ]