from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'network' players_per_group = 2 num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): p1_initiate = models.IntegerField(initial=0) p2_initiate = models.IntegerField(initial=0) link = models.IntegerField(initial=0) number_of_clicks_p1 = models.IntegerField() time_of_last_click_p1 = models.FloatField() number_of_clicks_p2 = models.IntegerField() time_of_last_click_p2 = models.FloatField() def live_method(self, id_in_group, receiveddata): self.number_of_clicks_p1 = receiveddata['click'] self.time_of_last_click_p1 = receiveddata['time'] self.p1_initiate = receiveddata['p1_initiate'] self.link = self.p1_initiate * self.p2_initiate response = dict (var1=self.p1_initiate, var2=self.p2_initiate) return {0: response} def live_method_p2(self, id_in_group, receiveddata): self.number_of_clicks_p2 = receiveddata['click_p2'] self.time_of_last_click_p2 = receiveddata['time_p2'] self.p2_initiate = receiveddata['p2_initiate'] self.link = self.p1_initiate * self.p2_initiate response = dict (var1=self.p1_initiate, var2=self.p2_initiate) return {0: response} class Player(BasePlayer): pass