import random from otree.api import * doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'EtoPicRes' PLAYERS_PER_GROUP = None TASKS = ['1', '2', '3','4','5','6','7','8','9', '10','11', '12', '13','14','15','16','17','18','19', '20','21', '22', '23','24','25','26','27','28','29', '30','31', '32', '33','34','35','36','37','38','39', '40','41', '42', '43','44','45','46','47','48','49', '50','51', '52', '53','54','55'] NUM_ROUNDS = len(TASKS) class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): consent_btn = models.BooleanField() def make_field(label): return models.IntegerField( choices=[1,2,3,4,5], label=label, widget=widgets.RadioSelect, ) name = models.StringField(label = '') age = models.IntegerField(label = '') sex = models.IntegerField(label = '', choices=[[1,"女性"],[2,"男性"],[0,"答えない"]]) experience = models.IntegerField(label = '') pic_10017i4_test = make_field("") pic_10027i1 = make_field("") pic_10027i5 = make_field("") pic_10037t3 = make_field("") pic_10052t5 = make_field("") pic_11025i3 = make_field("") pic_11051t5 = make_field("") pic_12053i5 = make_field("") pic_13015t1 = make_field("") pic_13034t3 = make_field("") pic_14032t3 = make_field("") pic_14034i1 = make_field("") pic_15014t1 = make_field("") pic_15017t1 = make_field("") pic_15034i3 = make_field("") pic_15057t5 = make_field("") pic_16039i5 = make_field("") pic_17011i1 = make_field("") pic_17011i3 = make_field("") pic_100117t1 = make_field("") pic_100119t1 = make_field("") pic_100120i5 = make_field("") pic_100123i1 = make_field("") pic_100420i3 = make_field("") pic_100513t5 = make_field("") pic_100523i5 = make_field("") pic_100529t5 = make_field("") pic_110318t3 = make_field("") pic_110326i5 = make_field("") pic_120125t1 = make_field("") pic_120515t5 = make_field("") pic_120529i3 = make_field("") pic_120529i5 = make_field("") pic_130123t1 = make_field("") pic_130328t3 = make_field("") pic_130512t5 = make_field("") pic_140311t3 = make_field("") pic_140325t3 = make_field("") pic_150112t1 = make_field("") pic_150121i1 = make_field("") pic_150321i3 = make_field("") pic_150413i1 = make_field("") pic_150413i3 = make_field("") pic_150513i1 = make_field("") pic_150513i5 = make_field("") pic_160217i1 = make_field("") pic_160317i3 = make_field("") pic_160317i5 = make_field("") pic_170124t1 = make_field("") pic_170227i1 = make_field("") pic_170312t3 = make_field("") pic_170327t3 = make_field("") pic_170427i3 = make_field("") pic_170522t5 = make_field("") pic_170528t5 = make_field("") btn_next = models.BooleanField() # FUNCTIONS def creating_session(subsession): if subsession.round_number == 1: for p in subsession.get_players(): round_numbers = list(range(1, C.NUM_ROUNDS+1)) random.shuffle(round_numbers) print(round_numbers) p.participant.vars['task_rounds'] = dict(zip(C.TASKS, round_numbers)) print(p.participant.vars['task_rounds']) # PAGES class Intro(Page): def is_displayed(player): return player.round_number == 1 form_model = 'player' form_fields = ['name', 'age', 'sex'] class Explain(Page): def is_displayed(player): return player.round_number == 1 class pic_10017i4_test(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['1'] form_model = 'player' form_fields = ['pic_10017i4_test'] class pic_10027i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['2'] form_model = 'player' form_fields = ['pic_10027i1'] class pic_10027i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['3'] form_model = 'player' form_fields = ['pic_10027i5'] class pic_10037t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['4'] form_model = 'player' form_fields = ['pic_10037t3'] class pic_10052t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['5'] form_model = 'player' form_fields = ['pic_10052t5'] class pic_11025i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['6'] form_model = 'player' form_fields = ['pic_11025i3'] class pic_11051t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['7'] form_model = 'player' form_fields = ['pic_11051t5'] class pic_12053i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['8'] form_model = 'player' form_fields = ['pic_12053i5'] class pic_13015t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['9'] form_model = 'player' form_fields = ['pic_13015t1'] class pic_13034t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['10'] form_model = 'player' form_fields = ['pic_13034t3'] class pic_14032t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['11'] form_model = 'player' form_fields = ['pic_14032t3'] class pic_14034i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['12'] form_model = 'player' form_fields = ['pic_14034i1'] class pic_15014t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['13'] form_model = 'player' form_fields = ['pic_15014t1'] class pic_15017t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['14'] form_model = 'player' form_fields = ['pic_15017t1'] class pic_15034i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['15'] form_model = 'player' form_fields = ['pic_15034i3'] class pic_15057t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['16'] form_model = 'player' form_fields = ['pic_15057t5'] class pic_16039i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['17'] form_model = 'player' form_fields = ['pic_16039i5'] class pic_17011i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['18'] form_model = 'player' form_fields = ['pic_17011i1'] class pic_17011i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['19'] form_model = 'player' form_fields = ['pic_17011i3'] class pic_100117t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['20'] form_model = 'player' form_fields = ['pic_100117t1'] class pic_100119t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['21'] form_model = 'player' form_fields = ['pic_100119t1'] class pic_100120i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['22'] form_model = 'player' form_fields = ['pic_100120i5'] class pic_100123i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['23'] form_model = 'player' form_fields = ['pic_100123i1'] class pic_100420i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['24'] form_model = 'player' form_fields = ['pic_100420i3'] class pic_100513t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['25'] form_model = 'player' form_fields = ['pic_100513t5'] class pic_100523i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['26'] form_model = 'player' form_fields = ['pic_100523i5'] class pic_100529t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['27'] form_model = 'player' form_fields = ['pic_100529t5'] class pic_110318t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['28'] form_model = 'player' form_fields = ['pic_110318t3'] class pic_110326i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['29'] form_model = 'player' form_fields = ['pic_110326i5'] class pic_120125t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['30'] form_model = 'player' form_fields = ['pic_120125t1'] class pic_120515t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['31'] form_model = 'player' form_fields = ['pic_120515t5'] class pic_120529i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['32'] form_model = 'player' form_fields = ['pic_120529i3'] class pic_120529i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['33'] form_model = 'player' form_fields = ['pic_120529i5'] class pic_130123t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['34'] form_model = 'player' form_fields = ['pic_130123t1'] class pic_130328t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['35'] form_model = 'player' form_fields = ['pic_130328t3'] class pic_130512t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['36'] form_model = 'player' form_fields = ['pic_130512t5'] class pic_140311t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['37'] form_model = 'player' form_fields = ['pic_140311t3'] class pic_140325t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['38'] form_model = 'player' form_fields = ['pic_140325t3'] class pic_150112t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['39'] form_model = 'player' form_fields = ['pic_150112t1'] class pic_150121i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['40'] form_model = 'player' form_fields = ['pic_150121i1'] class pic_150321i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['41'] form_model = 'player' form_fields = ['pic_150321i3'] class pic_150413i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['42'] form_model = 'player' form_fields = ['pic_150413i1'] class pic_150413i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['43'] form_model = 'player' form_fields = ['pic_150413i3'] class pic_150513i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['44'] form_model = 'player' form_fields = ['pic_150513i1'] class pic_150513i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['45'] form_model = 'player' form_fields = ['pic_150513i5'] class pic_160217i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['46'] form_model = 'player' form_fields = ['pic_160217i1'] class pic_160317i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['47'] form_model = 'player' form_fields = ['pic_160317i3'] class pic_160317i5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['48'] form_model = 'player' form_fields = ['pic_160317i5'] class pic_170124t1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['49'] form_model = 'player' form_fields = ['pic_170124t1'] class pic_170227i1(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['50'] form_model = 'player' form_fields = ['pic_170227i1'] class pic_170312t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['51'] form_model = 'player' form_fields = ['pic_170312t3'] class pic_170327t3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['52'] form_model = 'player' form_fields = ['pic_170327t3'] class pic_170427i3(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['53'] form_model = 'player' form_fields = ['pic_170427i3'] class pic_170522t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['54'] form_model = 'player' form_fields = ['pic_170522t5'] class pic_170528t5(Page): def is_displayed(player): return player.round_number == player.participant.vars['task_rounds']['55'] form_model = 'player' form_fields = ['pic_170528t5'] class Results(Page): def is_displayed(player): return player.round_number == C.NUM_ROUNDS form_model = 'player' form_fields = ['experience'] class Results2(Page): def is_displayed(player): return player.round_number == C.NUM_ROUNDS page_sequence = [Intro, Explain, pic_10017i4_test,pic_10027i1,pic_10027i5,pic_10037t3,pic_10052t5,pic_11025i3,pic_11051t5,pic_12053i5,pic_13015t1,pic_13034t3,pic_14032t3,pic_14034i1,pic_15014t1,pic_15017t1,pic_15034i3,pic_15057t5,pic_16039i5,pic_17011i1,pic_17011i3,pic_100117t1,pic_100119t1,pic_100120i5,pic_100123i1,pic_100420i3,pic_100513t5,pic_100523i5,pic_100529t5,pic_110318t3,pic_110326i5,pic_120125t1,pic_120515t5,pic_120529i3,pic_120529i5,pic_130123t1,pic_130328t3,pic_130512t5,pic_140311t3,pic_140325t3,pic_150112t1,pic_150121i1,pic_150321i3,pic_150413i1,pic_150413i3,pic_150513i1,pic_150513i5,pic_160217i1,pic_160317i3,pic_160317i5,pic_170124t1,pic_170227i1,pic_170312t3,pic_170327t3,pic_170427i3,pic_170522t5,pic_170528t5, Results,Results2] #