from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) from typing import (List, Dict) import random author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'group_enhancing' players_per_group = None num_rounds = 2 blue_channel = ['ReportBlue_1','ReportBlue_2'] #Since keeping it to one channel keeps chat from previous rounds red_channel = ['ReportRed_1','ReportRed_2'] class Subsession(BaseSubsession): def div(self): pass # player_list = self.get_players() # print('player_list', player_list) # for player in player_list: # player.color = player.participant.vars.get('color', None) # print(player.participant.vars) # print('The color according to p.color is: ', p.color) # blues = (p for p in player_list if p.color == 'blue') # reds = (p for p in player_list if p.color == 'red') class Group(BaseGroup): pass class Player(BasePlayer): color = models.StringField() word = models.StringField(label= 'According to you, the longest word that can be formed is: ') report = models.BooleanField(widget=widgets.RadioSelect) payoff_1 = models.CurrencyField() payoff_2 = models.CurrencyField() # def channel_set(self): # if self.report == 1 and self.participant.vars.get('color', None) == 'blue': # return self.blue_channel_copy.pop(0) # elif self.report == 1 and self.participant.vars.get('color', None) == 'red': # return self.red_channel_copy.pop(0) # # def let(self): # # if self.participant.vars.get('color', None) == 'blue': # # self.participant.vars['le'] = list1[0] # # if len(list1) > 1: # # del list1[0] # # return self.participant.vars['le'] # # elif self.participant.vars.get('color', None) == 'red': # # self.participant.vars['le'] = list2[0] # # if len(list2) > 1: # # del list2[0] # # return self.participant.vars['le'] # def show(self): # print('HERE') # print('HERE 1') # print('HERE 2') # print('p.color is: ', self.color) # print('p.report is: ', self.report) # if self.report == 1 and self.color == 'blue' and self.counting.count(1) == 1: # print('HERE 3a') # self.dlist1.append(self.participant.vars['le']) # self.counting.append(1) # print('Here 3b') # print('self.dlist1 for blues: ', self.dlist1) # return self.dlist1 # elif self.report == 1 and self.color == 'blue' and self.counting.count(1) != 1: # print('HERE 4a') # self.dlist1.append(self.participant.vars['le']) # self.counting.append(1) # print('Here 4b') # print('self.dlist1 for blues UR: ', self.dlist1) # #return z # elif self.report == 1 and self.color == 'red' and self.counting.count(2) == 1: # print('HERE 5a') # self.dlist2.append(self.participant.vars['le']) # self.counting.append(2) # print('HERE 5b') # print('self.dlist2 for reds: ', self.dlist2) # return self.dlist2 # elif self.report == 1 and self.color == 'red' and self.counting.count(2) != 1: # print('HERE 6a') # self.dlist2.append(self.participant.vars['le']) # self.counting.append(2) # print('HERE 6b') # print('self.dlist2 for reds UR: ', self.dlist2) # #return z # else: # print('HERE 7a') # z = z + 1 # print('z is: ', z) # print('HERE 7b') # #return z # if self.counting.count(1) == 2: # return self.dlist1 # if self.counting.count(2) == 2: # return self.dlist2