from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import itertools, random import json author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'number_task' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): dec_1 = models.IntegerField( label="Einfach", min=0, max=7, ) dec_2 = models.IntegerField( label="Mittel", min=0, max=7, ) dec_3 = models.IntegerField( label="Schwer", min=0, max=7, ) row_1 = models.IntegerField( #label="2 - 5 - 8 - 11 - 14 - 17 - 20 -? ", min=0, max=100,label=False, ) row_1_right=models.IntegerField(initial=0) row_2 = models.IntegerField( #label="16 - 14 - 12 - 10 - 8 - 6 - 4 -? ", min=0, max=100,label=False, ) row_2_right = models.IntegerField( initial=0 ) row_3 = models.IntegerField( #label="1 – 10 – 11 – 100 – 101 – 110 – 111 –? (1000)" (zählen von 1 im binären Zahlensystem), min=0, max=10000, label=False ) row_3_right = models.IntegerField( initial=0 ) row_4 = models.IntegerField( #label="1 – 2 – 6 – 30 – 210 – 2310 – 30030 –? (510510)" (jede Zahl von 1 wird mit nächst höherer Primzahl multipliziert) min=0, max=1000000,label=False ) row_4_right = models.IntegerField( initial=0 ) row_5 = models.IntegerField( #label="14 – 15 – 92 – 65 – 35 – 89 – 79 –? (32)", (je 2 Nachkommastellen von pi) min=0, max=100,label=False ) row_5_right = models.IntegerField( initial=0 ) row_6 = models.IntegerField( #label="208 - 108 - 56 - 29 - 15 - 8 - 4 - ? (2)" (Tetranacci folge rückwärts (jede Zahl ist Summe der folgenden vier Zahlen) min=0, max=100,label=False ) row_6_right = models.IntegerField( initial=0 ) row_7 = models.IntegerField( #label="3 – 27 – 69 – 129 – 207 – 303 –417 -? (549)" (1*3 9*3 23*3 43*3...Differenz ist immer +6 (8, 14,20,26,32, 38, 44), min=0, max=5000,label=False ) row_7_right = models.IntegerField( initial=0 ) rows_right=models.IntegerField(initial=0) def set_payoffs(self): if self.row_1== 23: self.row_1_right = 1 if self.row_2 == 2: self.row_2_right = 1 if self.row_3 == 1000: self.row_3_right = 1 if self.row_4 == 510510: self.row_4_right = 1 if self.row_5 == 32: self.row_5_right = 1 if self.row_6 == 2: self.row_6_right = 1 if self.row_7 == 549: self.row_7_right = 1 self.rows_right=self.row_1_right + self.row_2_right + self.row_3_right + self.row_4_right + self.row_5_right + self.row_6_right + self.row_7_right self.payoff = c(0.5*self.rows_right)