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' players_per_group = 2 num_rounds = 10 # Initial amount allocated to RE condition participants endowment = c(100) #instructions template for exchange exchangeinstructions = 'diss_exp/exchangeinstructions_template.html' class Subsession(BaseSubsession): def creating_session(self): pass class Group(BaseGroup): kept = models.CurrencyField( doc="""Amount dictator decided to keep for himself""", min=0, max=Constants.endowment, label="I will keep", ) def set_payoffs(self): p1 = self.get_player_by_id(1) p2 = self.get_player_by_id(2) p1.participant.payoff = p1.participant.payoff + self.kept p2.participant.payoff = p2.participant.payoff + Constants.endowment - self.kept #p1.switch_turns() #p2.switch_turns() print("exchange phase payoff has been reached") print("payoff from exchange for p1: ", self.kept) print("payoff from exchange for p2:", Constants.endowment - self.kept) print("total participant payoff for p1: ", p1.participant.payoff) print("total participant payoff for p2: ", p2.participant.payoff) class Player(BasePlayer): pass #variable that keeps track of whose turn it is to be the donor # if myturn == 1, then it's my turn # if myturn == -1, then it's not my turn # it will update by being multiplied by -1 each round # myturn = None # id_in_group = self.id_in_group # if id_in_group == 1: # myturn = 1 # else: # myturn = -1 # def switch_turns(self): # self.myturn = self.myturn*-1