from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random import csv import json doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'p_block5' players_per_group = None num_rounds = 40 f1 = 7 f2 = 0 f3 = 20 f4 = 0 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): decision = models.CharField() time_spent = models.FloatField() def set_payoff_decision(self): self.participant.vars['lottery_V'] = 8 self.participant.vars['probability'] = random.randint(1, 10) self.participant.vars['decision'] = self.decision if self.participant.vars['probability'] <= self.participant.vars['lottery_V']: if self.participant.vars['decision'] == 'V': self.participant.vars['payoff_decision'] = Constants.f1 else: self.participant.vars['payoff_decision'] = Constants.f2 else: if self.participant.vars['decision'] == 'V': self.participant.vars['payoff_decision'] = Constants.f4 else: self.participant.vars['payoff_decision'] = Constants.f3 self.payoff = self.participant.vars['payoff_decision'] def set_not_choice(self): self.participant.vars['decision'] = self.decision self.participant.vars['payoff_decision'] = self.payoff if self.participant.vars['decision'] == 'V': if self.participant.vars['payoff_decision'] == Constants.f1: self.participant.vars['not_choice'] = '0,00 €' else: self.participant.vars['not_choice'] = '20,00 €' else: if self.participant.vars['payoff_decision'] == Constants.f3: self.participant.vars['not_choice'] = '0,00 €' else: self.participant.vars['not_choice'] = '7,00 €' self.set_not_choice = self.participant.vars['not_choice']