from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import numpy as np author = 'William Brown and Kinshuk Sharma' doc = """ Experiment for Repair of Trust """ class Constants(BaseConstants): name_in_url = 'repairoftrust' players_per_group = 2 num_rounds = 2 class Subsession(BaseSubsession): def creating_session(self): groups = self.get_groups() for g in groups: randint_list = np.random.randint(2, size=7) s = [str(i) for i in randint_list] randint = int("".join(s)) g.value = randint g.count = s.count("1") class Group(BaseGroup): red_message = models.IntegerField() blue_decision = models.StringField() value = models.IntegerField() accurate = models.BooleanField(initial=False) count = models.IntegerField() class Player(BasePlayer): count = models.IntegerField( choices = [0,1,2,3,4,5,6,7] ) message = models.StringField( widget=widgets.RadioSelect, choices=['Odd', 'Even'], ) response = models.StringField( widget=widgets.RadioSelect, choices=['Rely','Verify'] ) def role(self): if self.id_in_group == 1: return 'red' if self.id_in_group == 2: return 'blue'