from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c ) class Constants(BaseConstants): name_in_url = 'survey' players_per_group = None num_rounds = 1 instructions_template = 'scrabble/instructions.html' instructions_template2 = 'scrabble/ExplanationExc.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class ScrabbleModel(BasePlayer): pass class Player(BasePlayer): def role(self): if (self.id_in_group % 4) == 0: return 'WF_NI' if (self.id_in_group % 4) == 1: return 'AG_NI' if (self.id_in_group % 4) == 2: return 'WF_HI' if (self.id_in_group % 4) == 3: return 'AG_HI' age = models.IntegerField(min=16, max=100, label="Alter:") gender = models.StringField(label="Geschlecht:", choices=[ ['male','männlich'], ['female','weiblich'] ]) lang = models.StringField(label="Deutsch ist meine Muttersprache:", choices=[ ['ja','Ja'], ['nein','Nein'] ]) edu = models.StringField( label="Höchster erreichter Bildungsgrad: (Beispiel: Ein Bachelorstudent trägt hier Abitur ein.)", choices=[ ['real', 'Realschulabschluss oder niedriger'], ['prakt', 'Abgeschlossene Berufsausbildung'], ['abi', 'Abitur'], ['bachelor', 'Bachelorabschluss'], ['master', 'Masterabschluss'], ['phd', 'Promotion'] ]) work = models.StringField( label="Aktuelle Tätigkeit", choices=[ ['scholar', 'Schüler'], ['student', 'Student'], ['azubi', 'Auszubildender'], ['AN', 'Arbeitnehmer'], ['AG', 'Arbeitgeber'] ]) pm_exp = models.StringField( label="Erfahrung im Projektmanagement als Teammitglied:", choices=[ ['exp0', 'Ich habe keine Erfahrung im Projektmanangement.'], ['exp1', 'Ich habe Grundkenntnisse im Projektmanagement.'], ['exp2', 'Ich arbeite regelmäßig im Bereich Projektmanagement.'], ['exp3', 'Ich habe Zertifizierungen im Bereich Projektmanagement.'] ] ) pl_exp = models.StringField( label="Erfahrung im Projektmanagement als Projektleiter:", choices=[ ['exp0', 'Ich habe keine Erfahrung im Projektmanangement.'], ['exp1', 'Ich habe Grundkenntnisse im Projektmanagement.'], ['exp2', 'Ich arbeite regelmäßig im Bereich Projektmanagement.'], ['exp3', 'Ich habe Zertifizierungen im Bereich Projektmanagement.'] ] ) Q1 = models.BooleanField(label="1. Was ist das Ziel der Aufgabe?", choices=[ [False,'Ein Wort legen und möglichst schnell zur nächsten Aufgabe.'], [True,'Mindestens die erwartete Punktzahl des Vorgesetzten innerhalb der vorgegebenen Zeit zu erreichen.'] ]) Q2 = models.BooleanField(label="2. Diagonale Worte oder Namen sind ebenfalls zulässige Worte im Sinne der Regeln.", choices=[ [False,'Wahr.'], [True,'Falsch, es sind nur vertikale oder horizontale Worte zulässig, Namen sind ausgeschlossen.'] ]) Q3 = models.BooleanField(label="3. Jedes Wort bringt gleich viele Punkte.", choices=[ [False,'Wahr.'], [True,'Falsch, die Zahl der Punkte ist abhängig von der invidiuellen Zahl der Punkte von einzelnen Buchstaben.'] ]) Q4 = models.BooleanField(label="4. Es ist möglich mehrere Worte gleichzeitig zu spielen.", choices=[ [False,'Wahr.'], [True,'Falsch, Es kann immer nur ein Wort nach dem Anderen auf dem Spielbrett fixiert werden.'] ]) Q5 = models.BooleanField(label="5. Position des Wortes.", choices=[ [False,'Ein Wort kann überall gelegt werden.'], [True,'Ein Wort muss mindestens einen Schnittpunkt mit einem anderen Wort haben.'] ]) estimatedLetters_WF1 = models.IntegerField(label="Runde 1:", initial=0, min=1, max=86) estimatedLetters_WF2 = models.IntegerField(label="Runde 2:", initial=0, min=1, max=86) estimatedLetters_WF3 = models.IntegerField(label="Runde 3:", initial=0, min=1, max=86) estimatedLetters_WF4 = models.IntegerField(label="Runde 4:", initial=0, min=1, max=86) totalWords = models.IntegerField(initial=0) totalPoints = models.IntegerField(initial=0) totalLetters = models.IntegerField(initial=0) trtotalWords = models.IntegerField(initial=0) trtotalPoints = models.IntegerField(initial=0) trtotalLetters = models.IntegerField(initial=0) goalPoints = models.IntegerField(initial=15) pointsQ1 = models.IntegerField(initial=0) pointsQ2 = models.IntegerField(initial=0) pointsQ3 = models.IntegerField(initial=0) pointsQ4 = models.IntegerField(initial=0) timeQ1 = models.StringField(initial="empty") timeQ2= models.StringField(initial="empty") timeQ3= models.StringField(initial="empty") timeQ4 = models.StringField(initial="empty") saveBoardQ1 = models.StringField(initial=0) saveBoardQ2 = models.StringField(initial=0) saveBoardQ3 = models.StringField(initial=0) saveBoardQ4 = models.StringField(initial=0) handQ1 = models.StringField(initial=0) handQ2 = models.StringField(initial=0) handQ3 = models.StringField(initial=0) handQ4 = models.StringField(initial=0) rackQ1 = models.StringField(initial=0) rackQ2 = models.StringField(initial=0) rackQ3 = models.StringField(initial=0) rackQ4 = models.StringField(initial=0) lettersPlayedQ1 = models.IntegerField(initial=0) lettersPlayedQ2 = models.IntegerField(initial=0) lettersPlayedQ3 = models.IntegerField(initial=0) lettersPlayedQ4 = models.IntegerField(initial=0) score_word_1 = models.IntegerField(initial=0) score_word_2 = models.IntegerField(initial=0) score_word_3 = models.IntegerField(initial=0) score_word_4 = models.IntegerField(initial=0) score_word_5 = models.IntegerField(initial=0) score_word_6 = models.IntegerField(initial=0) score_word_7 = models.IntegerField(initial=0) score_word_8 = models.IntegerField(initial=0) score_word_9 = models.IntegerField(initial=0) score_word_10 = models.IntegerField(initial=0) score_word_11 = models.IntegerField(initial=0) score_word_12 = models.IntegerField(initial=0) score_word_13 = models.IntegerField(initial=0) score_word_14 = models.IntegerField(initial=0) score_word_15 = models.IntegerField(initial=0) score_word_16 = models.IntegerField(initial=0) score_word_17 = models.IntegerField(initial=0) score_word_18 = models.IntegerField(initial=0) score_word_19 = models.IntegerField(initial=0) score_word_20 = models.IntegerField(initial=0) score_word_21 = models.IntegerField(initial=0) score_word_22 = models.IntegerField(initial=0) score_word_23 = models.IntegerField(initial=0) score_word_24 = models.IntegerField(initial=0) score_word_25 = models.IntegerField(initial=0) score_word_26 = models.IntegerField(initial=0) score_word_27 = models.IntegerField(initial=0) score_word_28 = models.IntegerField(initial=0) score_word_29 = models.IntegerField(initial=0) score_word_30 = models.IntegerField(initial=0) score_word_31 = models.IntegerField(initial=0) score_word_32 = models.IntegerField(initial=0) score_word_33 = models.IntegerField(initial=0) score_word_34 = models.IntegerField(initial=0) score_word_35 = models.IntegerField(initial=0) score_word_36 = models.IntegerField(initial=0) score_word_37 = models.IntegerField(initial=0) score_word_38 = models.IntegerField(initial=0) score_word_39 = models.IntegerField(initial=0) score_word_40 = models.IntegerField(initial=0) score_word_41 = models.IntegerField(initial=0) score_word_42 = models.IntegerField(initial=0) score_word_43 = models.IntegerField(initial=0) score_word_44 = models.IntegerField(initial=0) score_word_45 = models.IntegerField(initial=0) score_word_46 = models.IntegerField(initial=0) score_word_47 = models.IntegerField(initial=0) score_word_48 = models.IntegerField(initial=0) score_word_49 = models.IntegerField(initial=0) score_word_50 = models.IntegerField(initial=0) score_word_51 = models.IntegerField(initial=0) score_word_52 = models.IntegerField(initial=0) score_word_53 = models.IntegerField(initial=0) score_word_54 = models.IntegerField(initial=0) score_word_55 = models.IntegerField(initial=0) score_word_56 = models.IntegerField(initial=0) score_word_57 = models.IntegerField(initial=0) score_word_58 = models.IntegerField(initial=0) score_word_59 = models.IntegerField(initial=0) score_word_60 = models.IntegerField(initial=0) score_word_61 = models.IntegerField(initial=0) score_word_62 = models.IntegerField(initial=0) score_word_63 = models.IntegerField(initial=0) score_word_64 = models.IntegerField(initial=0) score_word_65 = models.IntegerField(initial=0) score_word_66 = models.IntegerField(initial=0) score_word_67 = models.IntegerField(initial=0) score_word_68 = models.IntegerField(initial=0) score_word_69 = models.IntegerField(initial=0) score_word_70 = models.IntegerField(initial=0) score_word_71 = models.IntegerField(initial=0) score_word_72 = models.IntegerField(initial=0) score_word_73 = models.IntegerField(initial=0) score_word_74 = models.IntegerField(initial=0) score_word_75 = models.IntegerField(initial=0) score_word_76 = models.IntegerField(initial=0) score_word_77 = models.IntegerField(initial=0) score_word_78 = models.IntegerField(initial=0) score_word_79 = models.IntegerField(initial=0) score_word_80 = models.IntegerField(initial=0) word_1 = models.StringField(initial="empty") word_2 = models.StringField(initial="empty") word_3 = models.StringField(initial="empty") word_4 = models.StringField(initial="empty") word_5 = models.StringField(initial="empty") word_6 = models.StringField(initial="empty") word_7 = models.StringField(initial="empty") word_8 = models.StringField(initial="empty") word_9 = models.StringField(initial="empty") word_10 = models.StringField(initial="empty") word_11 = models.StringField(initial="empty") word_12 = models.StringField(initial="empty") word_13 = models.StringField(initial="empty") word_14 = models.StringField(initial="empty") word_15 = models.StringField(initial="empty") word_16 = models.StringField(initial="empty") word_17 = models.StringField(initial="empty") word_18 = models.StringField(initial="empty") word_19 = models.StringField(initial="empty") word_20 = models.StringField(initial="empty") word_21 = models.StringField(initial="empty") word_22 = models.StringField(initial="empty") word_23 = models.StringField(initial="empty") word_24 = models.StringField(initial="empty") word_25 = models.StringField(initial="empty") word_26 = models.StringField(initial="empty") word_27 = models.StringField(initial="empty") word_28 = models.StringField(initial="empty") word_29 = models.StringField(initial="empty") word_30 = models.StringField(initial="empty") word_31 = models.StringField(initial="empty") word_32 = models.StringField(initial="empty") word_33 = models.StringField(initial="empty") word_34 = models.StringField(initial="empty") word_35 = models.StringField(initial="empty") word_36 = models.StringField(initial="empty") word_37 = models.StringField(initial="empty") word_38 = models.StringField(initial="empty") word_39 = models.StringField(initial="empty") word_40 = models.StringField(initial="empty") word_41 = models.StringField(initial="empty") word_42 = models.StringField(initial="empty") word_43 = models.StringField(initial="empty") word_44 = models.StringField(initial="empty") word_45 = models.StringField(initial="empty") word_46 = models.StringField(initial="empty") word_47 = models.StringField(initial="empty") word_48 = models.StringField(initial="empty") word_49 = models.StringField(initial="empty") word_50 = models.StringField(initial="empty") word_51 = models.StringField(initial="empty") word_52 = models.StringField(initial="empty") word_53 = models.StringField(initial="empty") word_54 = models.StringField(initial="empty") word_55 = models.StringField(initial="empty") word_56 = models.StringField(initial="empty") word_57 = models.StringField(initial="empty") word_58 = models.StringField(initial="empty") word_59 = models.StringField(initial="empty") word_60 = models.StringField(initial="empty") word_61 = models.StringField(initial="empty") word_62 = models.StringField(initial="empty") word_63 = models.StringField(initial="empty") word_64 = models.StringField(initial="empty") word_65 = models.StringField(initial="empty") word_66 = models.StringField(initial="empty") word_67 = models.StringField(initial="empty") word_68 = models.StringField(initial="empty") word_69 = models.StringField(initial="empty") word_70 = models.StringField(initial="empty") word_71 = models.StringField(initial="empty") word_72 = models.StringField(initial="empty") word_73 = models.StringField(initial="empty") word_74 = models.StringField(initial="empty") word_75 = models.StringField(initial="empty") word_76 = models.StringField(initial="empty") word_77 = models.StringField(initial="empty") word_78 = models.StringField(initial="empty") word_79 = models.StringField(initial="empty") word_80 = models.StringField(initial="empty") time_word_1 = models.StringField(initial="empty") time_word_2 = models.StringField(initial="empty") time_word_3 = models.StringField(initial="empty") time_word_4 = models.StringField(initial="empty") time_word_5 = models.StringField(initial="empty") time_word_6 = models.StringField(initial="empty") time_word_7 = models.StringField(initial="empty") time_word_8 = models.StringField(initial="empty") time_word_9 = models.StringField(initial="empty") time_word_10 = models.StringField(initial="empty") time_word_11 = models.StringField(initial="empty") time_word_12 = models.StringField(initial="empty") time_word_13 = models.StringField(initial="empty") time_word_14 = models.StringField(initial="empty") time_word_15 = models.StringField(initial="empty") time_word_16 = models.StringField(initial="empty") time_word_17 = models.StringField(initial="empty") time_word_18 = models.StringField(initial="empty") time_word_19 = models.StringField(initial="empty") time_word_20 = models.StringField(initial="empty") time_word_21 = models.StringField(initial="empty") time_word_22 = models.StringField(initial="empty") time_word_23 = models.StringField(initial="empty") time_word_24 = models.StringField(initial="empty") time_word_25 = models.StringField(initial="empty") time_word_26 = models.StringField(initial="empty") time_word_27 = models.StringField(initial="empty") time_word_28 = models.StringField(initial="empty") time_word_29 = models.StringField(initial="empty") time_word_30 = models.StringField(initial="empty") time_word_31 = models.StringField(initial="empty") time_word_32 = models.StringField(initial="empty") time_word_33 = models.StringField(initial="empty") time_word_34 = models.StringField(initial="empty") time_word_35 = models.StringField(initial="empty") time_word_36 = models.StringField(initial="empty") time_word_37 = models.StringField(initial="empty") time_word_38 = models.StringField(initial="empty") time_word_39 = models.StringField(initial="empty") time_word_40 = models.StringField(initial="empty") time_word_41 = models.StringField(initial="empty") time_word_42 = models.StringField(initial="empty") time_word_43 = models.StringField(initial="empty") time_word_44 = models.StringField(initial="empty") time_word_45 = models.StringField(initial="empty") time_word_46 = models.StringField(initial="empty") time_word_47 = models.StringField(initial="empty") time_word_48 = models.StringField(initial="empty") time_word_49 = models.StringField(initial="empty") time_word_50 = models.StringField(initial="empty") time_word_51 = models.StringField(initial="empty") time_word_52 = models.StringField(initial="empty") time_word_53 = models.StringField(initial="empty") time_word_54 = models.StringField(initial="empty") time_word_55 = models.StringField(initial="empty") time_word_56 = models.StringField(initial="empty") time_word_57 = models.StringField(initial="empty") time_word_58 = models.StringField(initial="empty") time_word_59 = models.StringField(initial="empty") time_word_60 = models.StringField(initial="empty") time_word_61 = models.StringField(initial="empty") time_word_62 = models.StringField(initial="empty") time_word_63 = models.StringField(initial="empty") time_word_64 = models.StringField(initial="empty") time_word_65 = models.StringField(initial="empty") time_word_66 = models.StringField(initial="empty") time_word_67 = models.StringField(initial="empty") time_word_68 = models.StringField(initial="empty") time_word_69 = models.StringField(initial="empty") time_word_70 = models.StringField(initial="empty") time_word_71 = models.StringField(initial="empty") time_word_72 = models.StringField(initial="empty") time_word_73 = models.StringField(initial="empty") time_word_74 = models.StringField(initial="empty") time_word_75 = models.StringField(initial="empty") time_word_76 = models.StringField(initial="empty") time_word_77 = models.StringField(initial="empty") time_word_78 = models.StringField(initial="empty") time_word_79 = models.StringField(initial="empty") time_word_80 = models.StringField(initial="empty") ################## ##############################