from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import random author = 'Joseph Lee' doc = """ Experiment """ class Constants(BaseConstants): name_in_url = 'comp_treatment' players_per_group = None num_rounds = 25 deletelink = c(110) remainlink = c(100) quiz1ans = 110 quiz2ans = 160 quiz3ans = 160 totime = 60 #Admin Controls #rn = [0, 90,100,110,10,20,30,40,50,60,70,80, 120] rnend = 120 class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: # For Task 3 for p in self.get_players(): p.participant.vars['rn'] = list(range(10, 111, 10)) random.shuffle(p.participant.vars['rn']) p.participant.vars['rn'].append(Constants.rnend) p.round_order = str(p.participant.vars['rn']) p.participant.vars['init'] = 0 p.participant.vars['done'] = 0 p.participant.vars['count'] = p.participant.vars['rn'][0] p.participant.vars['conut'] = 0 p.participant.vars['score'] = [] #stuff to change p.participant.vars['p1'] = 'J' p.participant.vars['p2'] = 'N' p.participant.vars['p3'] = 'T' p.participant.vars['p4'] = 'Y' p.participant.vars['p5'] = 'E' p.participant.vars['p6'] = 'C' p.participant.vars['p7'] = 'A' #RNP on 0+ -- A being the first choice, = 1 if Do not delete, = 2 if Delete p.participant.vars['0A'] = 0 # RNP on 1+ p.participant.vars['1A'] = 0 p.participant.vars['1B'] = 0 # RNP on 2+ p.participant.vars['2A'] = 0 p.participant.vars['2B'] = 0 # RNP on 3 p.participant.vars['3A'] = 0 p.participant.vars['3B'] = 0 p.participant.vars['p1payoff'] = 0 p.participant.vars['round'] = 0 p.participant.vars['showresult'] = 0 p.participant.vars['choices'] = [] p.participant.vars['T3payoff'] = 0 paying_round = random.randint(1, 9) p.participant.vars['paying_round_1'] = paying_round while p.participant.vars['paying_round_1'] == paying_round: paying_round = random.randint(1, 9) p.participant.vars['paying_round_2'] = paying_round for g in self.get_groups(): g.paying_round_1 = p.participant.vars['paying_round_1'] g.paying_round_2 = p.participant.vars['paying_round_2'] class Group(BaseGroup): paying_round_1 = models.IntegerField() paying_round_2 = models.IntegerField() class Player(BasePlayer): timeout = models.IntegerField(initial=0) complexity = models.IntegerField() round_order = models.StringField() choices = models.StringField() scores = models.StringField() p1sel = models.StringField( widget=widgets.RadioSelect ) def set_payoff(self): # See if this works try: self.participant.vars['choices'].append((self.participant.vars['count'], self.p1sel)) self.participant.vars['score'].append(self.participant.vars['p1payoff']) print("Scores / choices added successfully") except Exception as e: print(e) self.scores = str(self.participant.vars['score']) self.choices = str(self.participant.vars['choices']) self.participant.vars['T3payoff'] = self.participant.vars['score'][self.participant.vars['paying_round_1']-1] \ + self.participant.vars['score'][self.participant.vars['paying_round_2']-1] self.payoff = self.participant.vars['T3payoff'] def setup(self): self.scores = str(self.participant.vars['score']) self.choices = str(self.participant.vars['choices']) #initialize if self.participant.vars['showresult'] == 1: self.participant.vars['score'].append(self.participant.vars['p1payoff']) self.participant.vars['p1payoff'] = 0 if self.participant.vars['count'] == 10: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 20: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 1 self.participant.vars['CA'] = 1 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 30: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 40: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 1 self.participant.vars['CA'] = 1 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 41: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 42: self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 if self.participant.vars['count'] == 43: self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 50: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CE'] = 1 self.participant.vars['EC'] = 1 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 60: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['BD'] = 1 self.participant.vars['DB'] = 1 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 1 self.participant.vars['EC'] = 1 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 61: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 62: self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 70: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['BD'] = 1 self.participant.vars['DB'] = 1 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 1 self.participant.vars['EC'] = 1 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 71: self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 80: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['BD'] = 1 self.participant.vars['DB'] = 1 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 1 self.participant.vars['EC'] = 1 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 1 self.participant.vars['FD'] = 1 self.participant.vars['DG'] = 1 self.participant.vars['GD'] = 1 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 1 self.participant.vars['GF'] = 1 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 81: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 82: self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 83: self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 if self.participant.vars['count'] == 84: self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 85: self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 if self.participant.vars['count'] == 86: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 87: self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 if self.participant.vars['count'] == 88: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 89: self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 90: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['BD'] = 1 self.participant.vars['DB'] = 1 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 1 self.participant.vars['FD'] = 1 self.participant.vars['DG'] = 1 self.participant.vars['GD'] = 1 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 1 self.participant.vars['GF'] = 1 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 91: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 92: self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 93: self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 if self.participant.vars['count'] == 94: self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 if self.participant.vars['count'] == 95: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['BD'] = 0 if self.participant.vars['count'] == 100: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 1 self.participant.vars['FD'] = 1 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 1 self.participant.vars['EG'] = 1 self.participant.vars['FG'] = 1 self.participant.vars['GF'] = 1 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 101: self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 if self.participant.vars['count'] == 102: self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 if self.participant.vars['count'] == 110: self.participant.vars['AB'] = 1 self.participant.vars['BA'] = 1 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 1 self.participant.vars['DA'] = 1 self.participant.vars['BC'] = 1 self.participant.vars['CB'] = 1 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 1 self.participant.vars['DC'] = 1 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DE'] = 1 self.participant.vars['ED'] = 1 self.participant.vars['DF'] = 1 self.participant.vars['FD'] = 1 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 1 self.participant.vars['GF'] = 1 self.participant.vars['showresult'] = 0 if self.participant.vars['count'] == 111: self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 def set_var_1(self): self.participant.vars['choices'].append((self.participant.vars['count'], self.p1sel)) if self.participant.vars['count'] == 10: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: #self.participant.vars['3A'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() elif self.participant.vars['count'] == 20: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: #self.participant.vars['1A'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2*Constants.remainlink self.next_round() elif self.participant.vars['count'] == 30: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p4']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 40: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: #self.participant.vars['2A'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 41 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: #self.participant.vars['2A'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 42 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p4']: #self.participant.vars['2A'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 43 else: #self.participant.vars['2A'] = 1 self.participant.vars['count'] = 42 elif self.participant.vars['count'] == 41: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p4']: self.participant.vars['2B'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['2B'] = 1 self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 42: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p4']: self.participant.vars['2B'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['2B'] = 1 self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 43: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: self.participant.vars['2B'] = 2 self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['2B'] = 1 self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 50: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 60: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 61 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 62 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 61: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 62: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 70: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 71 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['count'] = 71 elif self.participant.vars['count'] == 71: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 80: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 81 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 82 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 83 else: self.participant.vars['p1payoff'] += 6 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 81: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 84 if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 85 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 82: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 86 if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 87 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 83: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 88 if self.p1sel == 'Delete the link with Participant ' + self.participant.vars[ 'p3'] or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 89 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 84: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 85: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 86: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 87: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 88: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 89: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 90: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 91 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars[ 'p3'] or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 92 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars[ 'p6'] or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 93 else: self.participant.vars['count'] = 92 elif self.participant.vars['count'] == 91: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 92: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 94 if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 95 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 93: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 94: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p7']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 95: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p2']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 100: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 101 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 102 else: self.participant.vars['p1payoff'] += 4 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 101: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 102: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() elif self.participant.vars['count'] == 110: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p5'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p6']: self.participant.vars['p1payoff'] += Constants.deletelink self.participant.vars['count'] = 111 elif self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['count'] = 111 elif self.participant.vars['count'] == 111: if self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p1'] \ or self.p1sel == 'Delete the link with Participant ' + self.participant.vars['p3']: self.participant.vars['p1payoff'] += Constants.deletelink self.set_empty() self.next_round() else: self.participant.vars['p1payoff'] += 2 * Constants.remainlink self.next_round() # def checkdone(self): # for p in self.get_players(): # if self.participant.vars['count'] == 50: # self.participant.vars['count'] = 99 def set_empty(self): self.participant.vars['AB'] = 0 self.participant.vars['BA'] = 0 self.participant.vars['AC'] = 0 self.participant.vars['CA'] = 0 self.participant.vars['AD'] = 0 self.participant.vars['DA'] = 0 self.participant.vars['BC'] = 0 self.participant.vars['CB'] = 0 self.participant.vars['BD'] = 0 self.participant.vars['DB'] = 0 self.participant.vars['CD'] = 0 self.participant.vars['DC'] = 0 self.participant.vars['CE'] = 0 self.participant.vars['EC'] = 0 self.participant.vars['DE'] = 0 self.participant.vars['ED'] = 0 self.participant.vars['AF'] = 0 self.participant.vars['FA'] = 0 self.participant.vars['DF'] = 0 self.participant.vars['FD'] = 0 self.participant.vars['DG'] = 0 self.participant.vars['GD'] = 0 self.participant.vars['GE'] = 0 self.participant.vars['EG'] = 0 self.participant.vars['FG'] = 0 self.participant.vars['GF'] = 0 def next_round(self): self.participant.vars['round'] += 1 self.participant.vars['conut'] = self.participant.vars['count'] self.participant.vars['count'] = self.participant.vars['rn'][self.participant.vars['round']] self.participant.vars['showresult'] = 1 #def set_payoff(self): #pass # p1 = self.get_player_by_id(1) # for play in ['B','C','D','E']: # if self.participant.vars["A{}".format(play)]==1: # self.participant.vars['p1payoff']+=Constants.remainlink # if self.participant.vars['count'] == self.participant.vars['round2']: # self.participant.vars['r1payoff'] = self.participant.vars['p1payoff'] # p1.r1payoff = self.participant.vars['r1payoff'] # if self.participant.vars['count'] == self.participant.vars['round3']: # self.participant.vars['r2payoff'] = self.participant.vars['p1payoff'] # p1.r2payoff = self.participant.vars['r2payoff'] # if self.participant.vars['count'] == self.participant.vars['round4']: # self.participant.vars['r3payoff'] = self.participant.vars['p1payoff'] # p1.r3payoff = self.participant.vars['r3payoff'] # if self.participant.vars['count'] == 50: # self.participant.vars['r4payoff'] = self.participant.vars['p1payoff'] # p1.r4payoff = self.participant.vars['r4payoff'] # # self.participant.vars['p1payoff'] = 0 # # if self.participant.vars['count'] == 50: # if self.participant.vars['paying_round_1'] == 1 or self.participant.vars['paying_round_2'] == 1: # self.participant.vars['p1Tpayoff'] += self.participant.vars['r1payoff'] # if self.participant.vars['paying_round_1'] == 2 or self.participant.vars['paying_round_2'] == 2: # self.participant.vars['p1Tpayoff'] += self.participant.vars['r2payoff'] # if self.participant.vars['paying_round_1'] == 3 or self.participant.vars['paying_round_2'] == 3: # self.participant.vars['p1Tpayoff'] += self.participant.vars['r3payoff'] # if self.participant.vars['paying_round_1'] == 4 or self.participant.vars['paying_round_2'] == 4: # self.participant.vars['p1Tpayoff'] += self.participant.vars['r4payoff'] # # p1 = self.get_player_by_id(1) # p1.payoff = self.participant.vars['p1Tpayoff'] # # #Calculate complexity, recall 1 is not delete, 2 is delete # # if self.participant.vars['0A'] == 1: # p1.complexity = 0 # elif self.participant.vars['0A'] == 2: # if self.participant.vars['1A'] == 1: # if self.participant.vars['1B'] == 2: # p1.complexity = 0 # elif self.participant.vars['1B'] == 1: # p1.complexity = 1 # elif self.participant.vars['1A'] == 2: # if self.participant.vars['1B'] == 2: # p1.complexity = 0 # elif self.participant.vars['1B'] == 1: # if self.participant.vars['2A'] == 1: # if self.participant.vars['2B'] == 2: # p1.complexity = 1 # elif self.participant.vars['2B'] == 1: # if self.participant.vars['3A'] == 1: # p1.complexity = 2 # elif self.participant.vars['3A'] == 2: # if self.participant.vars['3B']== 1: # p1.complexity = 2 # elif self.participant.vars['3B'] == 2: # p1.complexity = 1 # elif self.participant.vars['2A'] == 2: # if self.participant.vars['2B'] == 2: # p1.complexity = 1 # elif self.participant.vars['2B'] == 1: # if self.participant.vars['3A']==1: # p1.complexity = 3 # elif self.participant.vars['3A'] == 2: # if self.participant.vars['3B'] == 1: # p1.complexity = 2 # elif self.participant.vars['3B'] == 1: # p1.complexity = 1