from otree.api import Currency as c, currency_range from . import pages from ._builtin import Bot from .models import Constants class PlayerBot(Bot): def play_round(self): if self.round_number == 1: yield (pages.TimerPage) if self.player.participant.vars["poor_performance"] == False: yield (pages.InstructionTwoPage) yield (pages.PriorPage) if self.player.id_in_group % 3 != 0: if self.player.treat_type == 0: yield (pages.SelectProblemPage, {'problem': 15}) yield (pages.ChooseToSolvePage, {'solution': 1}) if self.player.treat_type == 1: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'problem': 16}) yield (pages.ChooseToSolvePage, {'reveal_cell':1}) yield (pages.CellOnlyRevealPage, {'solution': 1}) if self.player.treat_type == 2: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'row_problem': 4}) yield (pages.ChooseToSolvePage, {'reveal_avg': 1}) yield (pages.AvgOnlyRevealPage, {'solution': 5}) if self.player.treat_type == 3: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'problem': 32}) yield (pages.ChooseToSolvePage, {'reveal_both':1}) yield (pages.BothRevealPage, {'solution': 1}) yield (pages.ContinueLearningPage, {'cont_learning': False }) else: if self.player.treat_type == 0: yield (pages.SelectProblemPage, {'no_learning': 1}) if self.player.treat_type == 1: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'no_learning': 1}) if self.player.treat_type == 2: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'no_learning': 1}) if self.player.treat_type == 3: yield (pages.TreatmentTypePage) yield (pages.SelectProblemPage, {'no_learning': 1}) if self.player.choice_counter == 0 : yield (pages.FinalChoiceOnePage, {'row_choice': 1, 'column_choice': 1}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 1 : yield (pages.FinalChoiceOnePage, {'row_choice': 3, 'column_choice': 1}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 2 : yield (pages.FinalChoiceOnePage, {'row_choice': 0, 'column_choice': 6}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 3 : yield (pages.FinalChoiceOnePage, {'row_choice': 1, 'column_choice': 6}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 4 : yield (pages.FinalChoiceOnePage, {'row_choice': 5, 'column_choice': 0}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 5 : yield (pages.FinalChoiceOnePage, {'row_choice': 8, 'column_choice': 1}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 6 : yield (pages.FinalChoiceOnePage, {'row_choice': 0, 'column_choice': 0}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 7 : yield (pages.FinalChoiceOnePage, {'row_choice': 3, 'column_choice': 7}) yield (pages.FinalChoiceTwoPage) if self.player.choice_counter == 8 : yield (pages.FinalChoiceOnePage, {'row_choice': 3, 'column_choice': 7}) yield (pages.FinalChoiceTwoPage) yield (pages.PayoffInfoPage)