from otree.api import SubmissionMustFail from . import * from otree.api import Bot class PlayerBot(Bot): cases = ['sold', 'unsold'] def play_round(self): if self.round_number == 1: yield (Introduction) yield SubmissionMustFail(Main, {'price': -50}) price = { 'sold': 80, 'unsold': 30 }[self.case] reserve = { 'sold': 60, 'unsold': 90 }[self.case] if self.player.role == Constants.buyer_role: yield (Main, {'price': price}) assert self.player.payoff == 1.5 * self.group.value if self.case == 'sold' else self.player.payoff == 0 yield (Results) else: yield (Main, {'price': reserve}) assert self.player.payoff == other_player(self.player).price if self.case == 'sold' else self.player.payoff == self.group.value yield (Results)