from otree.api import * from .Functions import rotate_roles, get_random_nicknames # import random class EmptyWaitPage(WaitPage): title_text = "Please wait for other players" def after_all_players_arrive(self): rotate_roles(self.group) self.group.score = self.session.vars['score'] if self.round_number == 1: print(f'Assigning random aliases') # Assign random aliases to participants player_names = get_random_nicknames() # Save alias in session vars for nickname, player in zip(player_names, self.group.get_players()): player.nickname = nickname player.color = nickname.split()[0] self.session.vars[f'player_{player.id_in_group}_nickname'] = nickname else: # Retrieve the aliases assigned before for player in self.group.get_players(): print(f'---- retreiving aliases ----') # print(f'session vars: {self.session.vars}') print(f'player_{player.id_in_group}_nickname = {self.session.vars[f"player_{player.id_in_group}_nickname"]}') player.nickname = self.session.vars[f'player_{player.id_in_group}_nickname'] player.color = player.nickname.split()[0] class ResultsWaitPage(WaitPage): title_text = "Please wait for other players to arrive." class IndividualAnswerWaitPage(WaitPage): title_text = "Please wait for other players to submit their answers." class GroupAnswerWaitPage(WaitPage): after_all_players_arrive = 'calculate_score' # class InfluenceMatrixWaitPage(WaitPage): # title_text = "Please wait for other players to submit their answers."