from otree.api import Currency as c, currency_range from . import pages from ._builtin import Bot from .models import Constants import random class PlayerBot(Bot): def play_round(self): yield (pages.Aa_Cond, {'agreed_to_conditions': False}) yield (pages.Ab_Ca, {'captcha': "smwm"}) yield (pages.Ac_At1, {'attention_1a': "on", 'attention_1b': "on", 'attention_1c': "on", 'attention_1d': "on", 'attention_1e': "on"}) yield (pages.Ad_Pre, {'gender': random.choice(["0", "1", "2"]), 'age': random.randint(18, 100), 'education': random.choice(["1","2","3","4","5"]), 'income': random.choice(["1","2","3"]), 'leftright': random.choice(["1","2","3","4","5","6","7"])}) if(self.player.gender=="1"): self.group.number_females = self.group.number_females + 1 else: pass if(self.player.gender=="0"): self.group.number_males = self.group.number_males + 1 else: pass if(self.player.gender=="2"): self.group.number_diverse = self.group.number_diverse + 1 else: pass if(self.player.age < 30): self.group.age_group_1 = self.group.age_group_1 + 1 else: pass if(self.player.age >= 30 and self.player.age < 50): self.group.age_group_2 = self.group.age_group_2 + 1 else: pass if(self.player.age >= 50 and self.player.age < 60): self.group.age_group_3 = self.group.age_group_3 + 1 else: pass if(self.player.age >= 60): self.group.age_group_4 = self.group.age_group_4 + 1 else: pass if(self.player.education == "1" or self.player.education == "2" or self.player.education == "3"): self.group.uneducated= self.group.uneducated + 1 else: pass if(self.player.education == "4" or self.player.education == "5" ): self.group.educated= self.group.educated + 1 else: pass if(self.player.income == "1" ): self.group.income_group_1 = self.group.income_group_1 + 1 else: pass if(self.player.income == "2"): self.group.income_group_2 = self.group.income_group_2 + 1 else: pass if(self.player.income == "3"): self.group.income_group_3 = self.group.income_group_3 + 1 else: pass self.player.count_females = self.group.number_females self.player.count_males = self.group.number_males self.player.count_diverse = self.group.number_diverse self.player.count_age_group_1 = self.group.age_group_1 self.player.count_age_group_2 = self.group.age_group_2 self.player.count_age_group_3 = self.group.age_group_3 self.player.count_age_group_4 = self.group.age_group_4 self.player.count_uneducated = self.group.uneducated self.player.count_educated = self.group.educated self.player.count_income_group_1 = self.group.income_group_1 self.player.count_income_group_2 = self.group.income_group_2 self.player.count_income_group_3 = self.group.income_group_3 if ( (self.player.count_females >= 55 and self.player.gender == "1") or (self.player.count_males >= 53 and self.player.gender == "0") or (self.player.count_diverse >= 2 and self.player.gender == "2") or (self.player.count_age_group_1 >= 19 and self.player.age < 30) or (self.player.count_age_group_2 >= 33 and self.player.age >= 30 and self.player.age < 50) or (self.player.count_age_group_3 >= 24 and self.player.age >= 50 and self.player.age < 60) or (self.player.count_age_group_4 >= 40 and self.player.age >= 60 ) or (self.player.count_uneducated >= 72 and (self.player.education== "1" or self.player.education == "2" or self.player.education == "3" ) ) or (self.player.count_educated >= 36 and (self.player.education== "4" or self.player.education == "5" ) ) or (self.player.count_income_group_1 >= 34 and self.player.income == "1" ) or (self.player.count_income_group_2 >= 35 and self.player.income == "2" ) or (self.player.count_income_group_3 >= 43 and self.player.income == "3" ) ): pass else: yield (pages.Ae_BEB) yield (pages.Af_BV, {'bamf_validity_1': random.choice(["1","2","3","4","5","6","7"])}) yield (pages.Ag_BEQ, {"belief_ref": random.randint(100000, 1600000), "belief_ref_certainty": random.choice(["1","2","3","4","5","6"]), "belief_eas": random.randint(100000, 1600000), "belief_eas_certainty": random.choice(["1","2","3","4","5","6"])}) if self.player.color == "treatment_ref": yield (pages.Ahr_WI) else: pass if self.player.color == "treatment_eas": yield (pages.Ahe_WI) else: pass if self.player.color == "treatment_ref": yield (pages.Ai_Ir) else: pass if self.player.color == "treatment_eas": yield (pages.Ai_Ie) else: pass yield (pages.Aj_Pos, {"belief_ref_2": random.randint(0, 100), "belief_ref_2_certainty": random.choice(["1","2","3","4","5","6"]), "belief_eas_2": random.randint(0, 100), "belief_eas_2_certainty": random.choice(["1","2","3","4","5","6"]) }) yield (pages.Ak_At2, {'attention_2': "1"})