from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import itertools author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'diss_exp_ex_neg' players_per_group = 2 num_rounds = 2 # Total amount of resource to be split endowment = c(10) #instructions template for exchange exchangeinstructions = 'diss_exp/exchangeinstructions_template.html' class Subsession(BaseSubsession): def creating_session(self): pass class Group(BaseGroup): request = models.CurrencyField( doc=""" Amount requested by this player. """, min=1, max=Constants.endowment, label="Please enter an amount from 0 to 10", ) accept = models.StringField( label=("Do you accept this division?"), choices=["Yes","No"], widget=widgets.RadioSelect, ) def set_payoffs(self): p1 = self.get_player_by_id(1) p2 = self.get_player_by_id(2) if self.accept == "Yes": p1.participant.payoff = p1.participant.payoff + self.request p2.participant.payoff = p2.participant.payoff + Constants.endowment - self.request else: p1.participant.payoff == p1.participant.payoff + 0 p2.participant.payoff == p2.participant.payoff + 0 #p1.switch_turns() #p2.switch_turns() class Player(BasePlayer): pass # request = models.CurrencyField( # doc=""" # Amount requested by this player. # """, # min=0, # max=Constants.amount_shared, # label="Please enter an amount from 0 to 100", # ) # accept = models.StringField( # label=("Do you accept this division?"), # decision=["Yes","No"], # ) # def other_player(self): # return self.get_others_in_group()[0]