# coding=utf-8 from typing import List from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Instructions(Page): pass class Bid01(Page): form_model = 'player' form_fields = ['bid_one'] def before_next_page(self): if self.player.bid_one == 1: self.player.bid_amount_f = 1 self.player.bid_price = 2 else: self.player.bid_amount_f = 0 self.player.bid_price = 2 class Bid02(Page): form_model = 'player' form_fields = ['bid_two'] def before_next_page(self): if self.player.bid_one * self.player.bid_two == 1: self.player.bid_amount_f = 2 self.player.bid_price = 3 else: self.player.bid_price = 3 class Bid03(Page): form_model = 'player' form_fields = ['bid_three'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three == 1: self.player.bid_amount_f = 3 self.player.bid_price = 4 else: self.player.bid_price = 4 class Bid04(Page): form_model = 'player' form_fields = ['bid_four'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four == 1: self.player.bid_amount_f = 4 self.player.bid_price = 5 else: self.player.bid_price = 5 class Bid05(Page): form_model = 'player' form_fields = ['bid_five'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four\ * self.player.bid_five == 1: self.player.bid_amount_f = 5 self.player.bid_price = 6 else: self.player.bid_price = 6 class Bid06(Page): form_model = 'player' form_fields = ['bid_six'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six == 1: self.player.bid_amount_f = 6 self.player.bid_price = 7 else: self.player.bid_price = 7 class Bid07(Page): form_model = 'player' form_fields = ['bid_seven'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven == 1: self.player.bid_amount_f = 7 self.player.bid_price = 8 else: self.player.bid_price = 8 class Bid08(Page): form_model = 'player' form_fields = ['bid_eight'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight == 1: self.player.bid_amount_f = 8 self.player.bid_price = 9 else: self.player.bid_price = 9 class Bid09(Page): form_model = 'player' form_fields = ['bid_nine'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine == 1: self.player.bid_amount_f = 9 self.player.bid_price = 10 else: self.player.bid_price = 10 class Bid10(Page): form_model = 'player' form_fields = ['bid_ten'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten == 1: self.player.bid_amount_f = 10 self.player.bid_price = 11 else: self.player.bid_price = 11 class Bid11(Page): form_model = 'player' form_fields = ['bid_eleven'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten * self.player.bid_eleven == 1: self.player.bid_amount_f = 11 self.player.bid_price = 12 else: self.player.bid_price = 12 class Bid12(Page): form_model = 'player' form_fields = ['bid_twelve'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten * self.player.bid_eleven * self.player.bid_twelve == 1: self.player.bid_amount_f = 12 self.player.bid_price = 13 else: self.player.bid_price = 13 class Bid13(Page): form_model = 'player' form_fields = ['bid_thirteen'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten * self.player.bid_eleven * self.player.bid_twelve \ * self.player.bid_thirteen == 1: self.player.bid_amount_f = 13 self.player.bid_price = 14 else: self.player.bid_price = 14 class Bid14(Page): form_model = 'player' form_fields = ['bid_fourteen'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten * self.player.bid_eleven * self.player.bid_twelve \ * self.player.bid_thirteen * self.player.bid_fourteen == 1: self.player.bid_amount_f = 14 self.player.bid_price = 15 else: self.player.bid_price = 15 class Bid15(Page): form_model = 'player' form_fields = ['bid_fifteen'] def before_next_page(self): if self.player.bid_one * self.player.bid_two * self.player.bid_three * self.player.bid_four \ * self.player.bid_five * self.player.bid_six * self.player.bid_seven * self.player.bid_eight \ * self.player.bid_nine * self.player.bid_ten * self.player.bid_eleven * self.player.bid_twelve \ * self.player.bid_thirteen * self.player.bid_fourteen * self.player.bid_fifteen == 1: self.player.bid_amount_f = 15 class Results(Page): def before_next_page(self): self.player.set_proxy_bid() class Introduction1(Page): pass class Introduction2(Page): def before_next_page(self): if self.player.id_in_subsession % 2 == 1: self.player.private_value = 6.5 else: self.player.private_value = 9.5 page_sequence = [ Introduction1, Introduction2, Bid01, Bid02, Bid03, Bid04, Bid05, Bid06, Bid07, Bid08, Bid09, Bid10, Bid11, Bid12, Bid13, Bid14, Bid15, Results ]