from otree.api import Currency as c, currency_range from . import pages from ._builtin import Bot from .models import Constants import random from otree.api import Submission class PlayerBot(Bot): def play_round(self): if self.round_number==1: yield pages.Z01_start yield pages.Z02_intro yield pages.Z03_T1intro yield pages.Z04_T1inst1 yield pages.Z05_T1inst2 yield pages.Z06_T1inst3 yield pages.Z07_T1inst4 yield pages.Z07a_T1control1, dict(T1_c1x_payoff_seller1 = 80, T1_c1x_payoff_seller2 = 80, T1_c1x_payoff_buyer = 80, T1_c1x_payoff_C = 80, T1_c1y_payoff_seller1 = 80, T1_c1y_payoff_seller2 = 80, T1_c1y_payoff_buyer = 80, T1_c1y_payoff_C = 80) price1 = self.player.T1_c2x_price price2 = self.player.T1_c2y_price seller1x = 80 + price1 buyerx = 80 + 50 - price1 seller1y = 80 + price2 -20 buyery = 80 + 50 - price2 yield pages.Z07b_T1control2, dict(T1_c2x_payoff_seller1 = seller1x, T1_c2x_payoff_seller2 = 80, T1_c2x_payoff_buyer = buyerx, T1_c2x_payoff_C = 20, T1_c2y_payoff_seller1 = seller1y, T1_c2y_payoff_seller2 = 80, T1_c2y_payoff_buyer = buyery, T1_c2y_payoff_C = 80) yield pages.Z08_Role if self.player.type == "seller": yield pages.Z09_Seller, dict(T1_product_type = random.randint(0, 1), T1_price = random.choice(range(1, 49))) if self.player.type =="buyer": yield pages.Z09_Buyer, dict(T1_WTP_fair = random.choice(range(1, 49)), T1_WTP_unfair= random.choice(range(1, 49))) yield pages.Z11_T2intro yield pages.Z12_T2inst1 yield pages.Z13_T2inst2 yield pages.Z14_T2inst3 yield pages.Z15_T2inst4 yield pages.Z16_Role if self.player.type == "seller": yield pages.Z17_T2seller, dict(T2_product_type = random.randint(0, 1), T2_price = random.choice(range(1, 49))) if self.player.id_in_group == 2: yield pages.Z19_InfoSeller1 if self.player.id_in_group == 3: yield pages.Z20_InfoSeller2 if self.player.type == "buyer": yield pages.Z21_T2buyer, dict(choice= random.choice(range(1, 3))) yield pages.Z24_T2feedback if self.round_number == 2: yield pages.Z25_T3intro yield pages.Z26_Q1, dict(age = random.choice(range(18, 30)), sex = random.randint(0, 1), exp = random.choice(range(0, 3)), subject = random.choice(["Economics", "Literature"]), nationality = "Something", city = "Something") yield pages.Z27_Q2, dict(markets1 = random.choice(range(1, 6)), markets2 = random.choice(range(1, 6)), markets3 = random.choice(range(1, 6)), ingroup_city = random.choice(range(1, 6)), ingroup_region = random.choice(range(1, 6)), events1 = random.choice(range(1, 6)), events2 = random.choice(range(1, 6))) if self.player.type == "buyer": yield pages.Z28_Q3, dict(verstanden = random.choice(range(1, 6)) , level_identity = random.choice(range(1, 6)), not_harming_member1 = random.choice(range(1, 6)), not_harming_member2 = random.choice(range(1, 6)), ownpayoff = random.choice(range(1, 6)), utilitarian = random.choice(range(1, 6)), identity = random.choice(range(1, 6)), quality_check = random.choice(range(1, 6))) if self.player.type == "seller": yield pages.Z28_Q3_seller, dict(verstanden = random.choice(range(1, 6)), not_harming_member1 = random.choice(range(1, 6)), not_harming_member2 = random.choice(range(1, 6)), ownpayoff = random.choice(range(1, 6)), utilitarian = random.choice(range(1, 6)), quality_check = random.choice(range(1, 6))) if self.player.type == "C": yield pages.Z28_Q3_C, dict(verstanden = random.choice(range(1, 6)), quality_check = random.choice(range(1, 6))) yield pages.Z29_Q4, dict(partei = random.choice(range(1, 7)) , pol_selbstein = random.choice(range(1, 10))) yield pages.Z30_ResultsT1, yield Submission(pages.Z31_Results, check_html = False)