from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Introduction(Page): pass class Introduction2(Page): pass class Decide(Page): form_model = 'player' form_fields = ['Sprice'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): pass class ResultsWaitPage2(WaitPage): def after_all_players_arrive(self): pass class Results(Page): def vars_for_template(self): group = self.group p1 = group.get_player_by_id(1) p2 = group.get_player_by_id(2) if p1.Sprice > p2.Sprice: winner = p1 if p1.Sprice == 0 or p1.Sprice == 1 or p1.Sprice == 2 or p1.Sprice == 3 or p1.Sprice == 4 or p1.Sprice == 5 or p1.Sprice == 6 or p1.Sprice == 7 or p1.Sprice == 8 or p1.Sprice == 9 or p1.Sprice == 10 or p1.Sprice == 11: p1.Spayoff = c(0) p2.Spayoff = c(0) elif p1.Sprice == 12 or p1.Sprice == 13 or p1.Sprice == 14: p1.Spayoff = c(2) p2.Spayoff = c(0) elif p1.Sprice == 15 or p1.Sprice == 16 or p1.Sprice == 17: p1.Spayoff = c(4) p2.Spayoff = c(0) elif p1.Sprice == 18 or p1.Sprice == 19 or p1.Sprice == 20: p1.Spayoff = c(6) p2.Spayoff = c(0) elif p1.Sprice == 21 or p1.Sprice == 22 or p1.Sprice == 23: p1.Spayoff = c(8) p2.Spayoff = c(0) elif p1.Sprice == 24 or p1.Sprice == 25 or p1.Sprice == 26: p1.Spayoff = c(10) p2.Spayoff = c(0) elif p1.Sprice == 27 or p1.Sprice == 28 or p1.Sprice == 29: p1.Spayoff = c(12) p2.Spayoff = c(0) elif p1.Sprice == 30 or p1.Sprice == 31 or p1.Sprice == 32: p1.Spayoff = c(14) p2.Spayoff = c(0) elif p1.Sprice == 33 or p1.Sprice == 34 or p1.Sprice == 35: p1.Spayoff = c(16) p2.Spayoff = c(0) elif p1.Sprice == 36 or p1.Sprice == 37 or p1.Sprice == 38: p1.Spayoff = c(18) p2.Spayoff = c(0) elif p1.Sprice == 39 or p1.Sprice == 40 or p1.Sprice == 41: p1.Spayoff = c(20) p2.Spayoff = c(0) elif p1.Sprice == 42 or p1.Sprice == 43 or p1.Sprice == 44: p1.Spayoff = c(22) p2.Spayoff = c(0) elif p1.Sprice == 45 or p1.Sprice == 46 or p1.Sprice == 47: p1.Spayoff = c(24) p2.Spayoff = c(0) elif p1.Sprice == 48 or p1.Sprice == 49 or p1.Sprice == 50: p1.Spayoff = c(26) p2.Spayoff = c(0) else: p1.Spayoff = c(28) p2.Spayoff = c(0) elif p1.Sprice < p2.Sprice: winner = p2 if p2.Sprice == 0 or p2.Sprice == 1 or p2.Sprice == 2 or p2.Sprice == 3 or p2.Sprice == 4 or p2.Sprice == 5 or p2.Sprice == 6 or p2.Sprice == 7 or p2.Sprice == 8 or p2.Sprice == 9 or p2.Sprice == 10 or p2.Sprice == 11: p1.Spayoff = c(0) p2.Spayoff = c(0) elif p2.Sprice == 12 or p2.Sprice == 13 or p2.Sprice == 14: p1.Spayoff = c(0) p2.Spayoff = c(2) elif p2.Sprice == 15 or p2.Sprice == 16 or p2.Sprice == 17: p1.Spayoff = c(0) p2.Spayoff = c(4) elif p2.Sprice == 18 or p2.Sprice == 19 or p2.Sprice == 20: p1.Spayoff = c(0) p2.Spayoff = c(6) elif p2.Sprice == 21 or p2.Sprice == 22 or p2.Sprice == 23: p1.Spayoff = c(0) p2.Spayoff = c(8) elif p2.Sprice == 24 or p2.Sprice == 25 or p2.Sprice == 26: p1.Spayoff = c(0) p2.Spayoff = c(10) elif p2.Sprice == 27 or p2.Sprice == 28 or p2.Sprice == 29: p1.Spayoff = c(0) p2.Spayoff = c(12) elif p2.Sprice == 30 or p2.Sprice == 31 or p2.Sprice == 32: p1.Spayoff = c(0) p2.Spayoff = c(14) elif p2.Sprice == 33 or p2.Sprice == 34 or p2.Sprice == 35: p1.Spayoff = c(0) p2.Spayoff = c(16) elif p2.Sprice == 36 or p2.Sprice == 37 or p2.Sprice == 38: p1.Spayoff = c(0) p2.Spayoff = c(18) elif p2.Sprice == 39 or p2.Sprice == 40 or p2.Sprice == 41: p1.Spayoff = c(0) p2.Spayoff = c(20) elif p2.Sprice == 42 or p2.Sprice == 43 or p2.Sprice == 44: p1.Spayoff = c(0) p2.Spayoff = c(22) elif p2.Sprice == 45 or p2.Sprice == 46 or p2.Sprice == 47: p1.Spayoff = c(0) p2.Spayoff = c(24) elif p2.Sprice == 48 or p2.Sprice == 49 or p2.Sprice == 50: p1.Spayoff = c(0) p2.Spayoff = c(26) else: p1.Spayoff = c(0) p2.Spayoff = c(28) else: winner = p1 and p2 if p1.Sprice == 0 or p1.Sprice == 1 or p1.Sprice == 2 or p1.Sprice == 3 or p1.Sprice == 4 or p1.Sprice == 5 or p1.Sprice == 6 or p1.Sprice == 7 or p1.Sprice == 8 or p1.Sprice == 9 or p1.Sprice == 10 or p1.Sprice == 11: p1.Spayoff = c(0) p2.Spayoff = c(0) elif p1.Sprice == 12 or p1.Sprice == 13 or p1.Sprice == 14: p1.Spayoff = c(1) p2.Spayoff = c(1) elif p1.Sprice == 15 or p1.Sprice == 16 or p1.Sprice == 17: p1.Spayoff = c(2) p2.Spayoff = c(2) elif p1.Sprice == 18 or p1.Sprice == 19 or p1.Sprice == 20: p1.Spayoff = c(3) p2.Spayoff = c(3) elif p1.Sprice == 21 or p1.Sprice == 22 or p1.Sprice == 23: p1.Spayoff = c(4) p2.Spayoff = c(4) elif p1.Sprice == 24 or p1.Sprice == 25 or p1.Sprice == 26: p1.Spayoff = c(5) p2.Spayoff = c(5) elif p1.Sprice == 27 or p1.Sprice == 28 or p1.Sprice == 29: p1.Spayoff = c(6) p2.Spayoff = c(6) elif p1.Sprice == 30 or p1.Sprice == 31 or p1.Sprice == 32: p1.Spayoff = c(7) p2.Spayoff = c(7) elif p1.Sprice == 33 or p1.Sprice == 34 or p1.Sprice == 35: p1.Spayoff = c(8) p2.Spayoff = c(8) elif p1.Sprice == 36 or p1.Sprice == 37 or p1.Sprice == 38: p1.Spayoff = c(9) p2.Spayoff = c(9) elif p1.Sprice == 39 or p1.Sprice == 40 or p1.Sprice == 41: p1.Spayoff = c(10) p2.Spayoff = c(10) elif p1.Sprice == 42 or p1.Sprice == 43 or p1.Sprice == 44: p1.Spayoff = c(11) p2.Spayoff = c(11) elif p1.Sprice == 45 or p1.Sprice == 46 or p1.Sprice == 47: p1.Spayoff = c(12) p2.Spayoff = c(12) elif p1.Sprice == 48 or p1.Sprice == 49 or p1.Sprice == 50: p1.Spayoff = c(13) p2.Spayoff = c(13) else: p1.Spayoff = c(14) p2.Spayoff = c(14) return{ 'siire1':p1.Spayoff, 'siire2':p2.Spayoff, 'sprice1':p1.Sprice, 'sprice2':p2.Sprice, } page_sequence = [ Introduction, Decide, ResultsWaitPage, Results ]