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.greetings) if self.player.id_in_group == 1: yield (pages.Cake_cutting_middle_p1, {"cut_value": 50}) elif self.player.id_in_group == 2: yield (pages.Cake_cutting_middle_p2, {"cut_value": 60}) if self.player.id_in_group == 1: assert self.player.payoff == c(0) yield (pages.Roundresult_L_P1) elif self.player.id_in_group == 2: assert self.player.payoff == c(120) yield (pages.Roundresult_R_P2) elif self.round_number >= 2 and self.round_number <= 5: if self.player.id_in_group == 1: yield (pages.Cake_cutting_middle_p1, {"cut_value": 60}) elif self.player.id_in_group == 2: yield (pages.Cake_cutting_middle_p2, {"cut_value": 50}) if self.player.id_in_group == 1: assert self.player.payoff == c(120) yield (pages.Roundresult_R_P1) elif self.player.id_in_group == 2: assert self.player.payoff == c(0) yield (pages.Roundresult_L_P2) elif self.round_number == 6: if self.player.id_in_group == 1: yield (pages.Cake_cutting_middle_full_info_p1, {"cut_value": 60}) elif self.player.id_in_group == 2: yield (pages.Cake_cutting_middle_full_info_p2, {"cut_value": 50}) if self.player.id_in_group == 1: assert self.player.payoff == c(120) yield (pages.Roundresult_R_P1) elif self.player.id_in_group == 2: assert self.player.payoff == c(0) yield (pages.Roundresult_L_P2) elif self.round_number == 7: if self.player.id_in_group == 1: yield (pages.Cake_cutting_middle_full_info_p1, {"cut_value": 50}) elif self.player.id_in_group == 2: yield (pages.Cake_cutting_middle_full_info_p2, {"cut_value": 60}) if self.player.id_in_group == 1: yield (pages.Roundresult_L_P1) assert self.player.payoff == c(0) elif self.player.id_in_group == 2: yield (pages.Roundresult_R_P2) assert self.player.payoff == c(120)