from otree.api import Currency as c, currency_range from . import pages from ._builtin import Bot from .models import Constants from otree.api import Submission import random class PlayerBot(Bot): def play_round(self): if ((self.round_number >=1 and self.round_number=Constants.start_second_part and self.round_numberConstants.start_scenario_1 and self.round_number<=Constants.start_second_part-2) \ or (self.round_number>Constants.start_scenario_2 and self.round_number<=Constants.start_lottery-2)): if self.participant.vars['scenario_status']==False: yield (pages.wait_page_for_scenarios) yield (pages.Scenarios, {'offer_accapted':random.choice([0, 1])}) else: pass elif (self.round_number==Constants.start_second_part-1 or self.round_number==Constants.start_lottery-1): if self.participant.vars['scenario_status']==False: yield (pages.page_before_real_round) if self.player.player_status==False: yield (pages.MyPage1, {'num_6':1, 'num_7': 1, 'num_8':1, 'num_9':1, 'num_10': 1, 'num_11':0, 'num_12':0, 'num_13': 0, 'num_14':0, 'num_15':0, 'num_16': 0, 'num_17':0, 'num_18':0, 'num_19': 0, 'num_20':0, 'num_21':0, 'num_22':0, 'num_23':0, 'num_24':0, 'num_25': 0, 'num_26':0, 'num_27':0, 'num_28':0, 'num_29':0, 'num_30':0}) else: pass else: pass yield (pages.final_page) yield Submission(pages.wait_page, check_html=False) elif self.round_number>=Constants.start_lottery and self.round_number<=Constants.start_questionnaire-1: if self.round_number==Constants.start_lottery: yield (pages.raven, {'raven_1':random.choice(list(range(1, 9))), 'raven_2':random.choice(list(range(1, 9))), 'raven_3':random.choice(list(range(1, 9))), 'raven_4':random.choice(list(range(1, 6))), 'raven_5':random.choice(list(range(1, 6))) }) yield Submission(pages.wait_page_after_raven, check_html=False) yield (pages.lottery, {'fixed_amount': random.choice([0, 1])}) else: yield (pages.lottery, {'fixed_amount': random.choice([0, 1])}) elif self.round_number==Constants.start_questionnaire: yield Submission(pages.wait_page_after_lottery, check_html=False) yield (pages.questions, {'q_1_school':5, 'q_2_status':3, 'q_3_GPA':2, 'q_4_terms':1, 'q_age':20, 'q_gender':1}) elif self.round_number>Constants.start_questionnaire and self.round_number<=Constants.start_questionnaire+1: yield(pages.questions, {'q_6_confusing':"skdjhfklshdf", 'q_7_feedback':'skjfsl'})