from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) import random import string author = 'Game' doc = """ The time limit is 20 seconds. """ class Constants(BaseConstants): name_in_url = 'game' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): #Questions A to Z def randomkeyA(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queA = models.StringField(initial = randomkeyA(5)) def randomkeyB(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queB = models.StringField(initial = randomkeyB(5)) def randomkeyC(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queC = models.StringField(initial = randomkeyC(5)) def randomkeyD(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queD = models.StringField(initial = randomkeyD(5)) def randomkeyE(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queE = models.StringField(initial = randomkeyE(5)) def randomkeyF(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queF = models.StringField(initial = randomkeyF(5)) def randomkeyG(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queG = models.StringField(initial = randomkeyG(5)) def randomkeyH(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queH = models.StringField(initial = randomkeyH(5)) def randomkeyI(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queI = models.StringField(initial = randomkeyI(5)) def randomkeyJ(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queJ = models.StringField(initial = randomkeyJ(5)) def randomkeyK(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queK = models.StringField(initial = randomkeyK(5)) def randomkeyL(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queL = models.StringField(initial = randomkeyL(5)) def randomkeyM(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queM = models.StringField(initial = randomkeyM(5)) def randomkeyN(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queN = models.StringField(initial = randomkeyN(5)) def randomkeyO(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queO = models.StringField(initial = randomkeyO(5)) def randomkeyP(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queP = models.StringField(initial = randomkeyP(5)) def randomkeyQ(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queQ = models.StringField(initial = randomkeyQ(5)) def randomkeyR(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queR = models.StringField(initial = randomkeyR(5)) def randomkeyS(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queS = models.StringField(initial = randomkeyS(5)) def randomkeyT(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queT = models.StringField(initial = randomkeyT(5)) def randomkeyU(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queU = models.StringField(initial = randomkeyU(5)) def randomkeyV(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queV = models.StringField(initial = randomkeyV(5)) def randomkeyW(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queW = models.StringField(initial = randomkeyW(5)) def randomkeyX(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queX = models.StringField(initial = randomkeyX(5)) def randomkeyY(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queY = models.StringField(initial = randomkeyY(5)) def randomkeyZ(n): randlist = [random.choice(string.ascii_letters + string.digits) for i in range(n)] return ''.join(randlist) queZ = models.StringField(initial = randomkeyZ(5)) #Answer forms ansA = models.StringField(blank=True, null=True) ansB = models.StringField(blank=True, null=True) ansC = models.StringField(blank=True, null=True) ansD = models.StringField(blank=True, null=True) ansE = models.StringField(blank=True, null=True) ansF = models.StringField(blank=True, null=True) ansG = models.StringField(blank=True, null=True) ansH = models.StringField(blank=True, null=True) ansI = models.StringField(blank=True, null=True) ansJ = models.StringField(blank=True, null=True) ansK = models.StringField(blank=True, null=True) ansL = models.StringField(blank=True, null=True) ansM = models.StringField(blank=True, null=True) ansN = models.StringField(blank=True, null=True) ansO = models.StringField(blank=True, null=True) ansP = models.StringField(blank=True, null=True) ansQ = models.StringField(blank=True, null=True) ansR = models.StringField(blank=True, null=True) ansS = models.StringField(blank=True, null=True) ansT = models.StringField(blank=True, null=True) ansU = models.StringField(blank=True, null=True) ansV = models.StringField(blank=True, null=True) ansW = models.StringField(blank=True, null=True) ansX = models.StringField(blank=True, null=True) ansY = models.StringField(blank=True, null=True) ansZ = models.StringField(blank=True, null=True) def vars_for_admin_report(): ansA = [ p.ansA for p in self.get_players() ] ansB = [ p.ansB for p in self.get_players() ] ansC = [ p.ansC for p in self.get_players() ] ansD = [ p.ansD for p in self.get_players() ] ansE = [ p.ansE for p in self.get_players() ] ansF = [ p.ansF for p in self.get_players() ] ansG = [ p.ansG for p in self.get_players() ] ansH = [ p.ansH for p in self.get_players() ] ansI = [ p.ansI for p in self.get_players() ] ansJ = [ p.ansJ for p in self.get_players() ] ansK = [ p.ansK for p in self.get_players() ] ansL = [ p.ansL for l in self.get_players() ] ansM = [ p.ansM for p in self.get_players() ] ansN = [ p.ansN for p in self.get_players() ] ansO = [ p.ansO for p in self.get_players() ] ansP = [ p.ansP for p in self.get_players() ] ansQ = [ p.ansQ for p in self.get_players() ] ansR = [ p.ansR for p in self.get_players() ] ansS = [ p.ansS for p in self.get_players() ] ansT = [ p.ansT for p in self.get_players() ] ansU = [ p.ansU for p in self.get_players() ] ansV = [ p.ansV for p in self.get_players() ] ansW = [ p.ansW for p in self.get_players() ] ansX = [ p.ansX for p in self.get_players() ] ansY = [ p.ansY for p in self.get_players() ] ansZ = [ p.ansZ for p in self.get_players() ] #earning,ここがよくわからん