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.firstcut_p1, {'cut_value':30}) elif self.player.id_in_group == 2: yield (pages.firstcut_p2, {'cut_value':40}) elif self.player.id_in_group == 3: yield (pages.firstcut_p3, {'cut_value':50}) if self.player.id_in_group == 1: yield (pages.Results_1_p1) elif self.player.id_in_group == 2: yield (pages.secondcut_p2, {'secondcut_value':60}) elif self.player.id_in_group == 3: yield (pages.secondcut_p3, {'secondcut_value':70}) if self.player.id_in_group == 1: yield (pages.Roundresult_L1_p1) assert self.player.payoff == c(0) elif self.player.id_in_group == 2: yield (pages.Roundresult_L2_p2) assert self.player.payoff == c(0) elif self.player.id_in_group == 3: yield (pages.Roundresult_L3_p3) assert self.player.payoff == c(120) elif self.round_number >= 2 and self.round_number <= 5: if self.player.id_in_group == 1: yield (pages.firstcut_p1, {'cut_value':40}) elif self.player.id_in_group == 2: yield (pages.firstcut_p2, {'cut_value':30}) elif self.player.id_in_group == 3: yield (pages.firstcut_p3, {'cut_value':50}) if self.player.id_in_group == 1: yield (pages.secondcut_p1, {'secondcut_value':60}) elif self.player.id_in_group == 2: yield (pages.Results_1_p2) elif self.player.id_in_group == 3: yield (pages.secondcut_p3, {'secondcut_value':70}) if self.player.id_in_group == 1: yield (pages.Roundresult_L2_p1) assert self.player.payoff == c(0) elif self.player.id_in_group == 2: yield (pages.Roundresult_L1_p2) assert self.player.payoff == c(0) elif self.player.id_in_group == 3: yield (pages.Roundresult_L3_p3) assert self.player.payoff == c(120) elif self.round_number == 6: if self.player.id_in_group == 1: yield (pages.firstcut_p1_fulifo, {'cut_value':30}) elif self.player.id_in_group == 2: yield (pages.firstcut_p2_fulifo, {'cut_value':40}) elif self.player.id_in_group == 3: yield (pages.firstcut_p3_fulifo, {'cut_value':50}) if self.player.id_in_group == 1: yield (pages.Results_1_p1) elif self.player.id_in_group == 2: yield (pages.secondcut_p2_fulifo, {'secondcut_value':60}) elif self.player.id_in_group == 3: yield (pages.secondcut_p3_fulifo, {'secondcut_value':70}) if self.player.id_in_group == 1: yield (pages.Roundresult_L1_p1) assert self.player.payoff == c(0) elif self.player.id_in_group == 2: yield (pages.Roundresult_L2_p2) assert self.player.payoff == c(0) elif self.player.id_in_group == 3: yield (pages.Roundresult_L3_p3) assert self.player.payoff == c(120) elif self.round_number == 7: if self.player.id_in_group == 1: yield (pages.firstcut_p1_fulifo, {'cut_value':40}) elif self.player.id_in_group == 2: yield (pages.firstcut_p2_fulifo, {'cut_value':30}) elif self.player.id_in_group == 3: yield (pages.firstcut_p3_fulifo, {'cut_value':50}) if self.player.id_in_group == 1: yield (pages.secondcut_p1_fulifo, {'secondcut_value':60}) elif self.player.id_in_group == 2: yield (pages.Results_1_p2) elif self.player.id_in_group == 3: yield (pages.secondcut_p3_fulifo, {'secondcut_value':70}) if self.player.id_in_group == 1: yield (pages.Roundresult_L2_p1) assert self.player.payoff == c(0) elif self.player.id_in_group == 2: yield (pages.Roundresult_L1_p2) assert self.player.payoff == c(0) elif self.player.id_in_group == 3: yield (pages.Roundresult_L3_p3) assert self.player.payoff == c(120)