from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class Investment1(Page): def is_displayed(self): return self.player.pressure == 1 form_model = 'player' form_fields = ['invest_point'] timeout_seconds = 10 def before_next_page(self): player = self.player timeout_happened = self.timeout_happened if timeout_happened: player.invest_point = -1 def invest_point_error_message(player, values): if values * player.purchase_stock > Constants.income: return('合計投資額が固定収入額を超えています。再度、入力しなおしてください。') class Investment2(Page): def is_displayed(self): return self.player.pressure == 0 form_model = 'player' form_fields = ['invest_point'] def invest_point_error_message(player, values): if values * player.purchase_stock > Constants.income: return('合計投資額が固定収入額を超えています。再度、入力しなおしてください。') class Results(Page): def vars_for_template(self): self.player.invest_return() class ResultsSummary(Page): def is_displayed(self): return self.round_number == Constants.num_rounds page_sequence = [Introduction, Investment1, Investment2, Results, ResultsSummary]