from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random doc = """ ステージ1 """ class Constants(BaseConstants): name_in_url = 'S1_DG1' players_per_group = 2 num_rounds = 1 instructions_template = 'S1_DG1/Instructions.html' endowment = c(1200) offer_increment = c(100) offer_choices = currency_range(0, endowment, offer_increment) offer_choices_count = len(offer_choices) keep_give_amounts = [] for offer in offer_choices: keep_give_amounts.append((offer, endowment - offer)) class Subsession(BaseSubsession): pass class Group(BaseGroup): offer = models.CurrencyField(choices=Constants.offer_choices) def set_payoffs(self): p1 = self.get_player_by_role('player_A') p2 = self.get_player_by_role('player_B') p1.payoff = Constants.endowment - self.offer p2.payoff = self.offer class Player(BasePlayer): ID_number = models.IntegerField() def role(self): if self.id_in_group == 1: return 'player_A' else: return 'player_B'