from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Yang Zhong' doc = """ Nonogram """ #One game per person class Constants(BaseConstants): name_in_url = 'nonogram' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): time_spent = models.FloatField() points = models.IntegerField(min=-5000000) total_green = models.IntegerField() total_gray = models.IntegerField() total_wrong = models.IntegerField() total_right = models.IntegerField() wrong_green = models.IntegerField() #correct should be green wrong_gray = models.IntegerField() #correct should be gray right_green = models.IntegerField() right_gray = models.IntegerField() board_history = models.LongStringField() #if each cell is correct or not (1 for correct color, 0 for wrong color) time_between_moves = models.LongStringField() solve_order = models.LongStringField() final_payoff = models.FloatField(max=20, min=0) payoff_nono = models.FloatField(max=20, min=0) nonogram_before = models.StringField( choices=["1", "2", "3"], label="Have you played this game before?", widget=widgets.RadioSelect, ) othergame_before = models.StringField( choices=["1", "2", "3"], label="Have you played other similar puzzle games before, for example, Sudoku? ", widget=widgets.RadioSelect, )