def setup_mode(self): # Sets up all of the structures that depend on the mode of Hokm # we're playing: seats, layouts, and (in 4p mode) partnerships. # Remember that seats in Hokm go the opposite direction of the # American/European standard. if self.mode == 4: self.seats = [ Seat("North"), Seat("West"), Seat("South"), Seat("East"), ] self.seats[0].data.who = NORTH self.seats[1].data.who = WEST self.seats[2].data.who = SOUTH self.seats[3].data.who = EAST self.min_players = 4 self.max_players = 4 self.layout = FourPlayerCardGameLayout() # Set up the partnership structures. self.ns = Struct() self.ew = Struct() self.ns.score = 0 self.ew.score = 0 elif self.mode == 3: self.seats = [ Seat("West"), Seat("South"), Seat("East"), ] self.seats[0].data.who = WEST self.seats[1].data.who = SOUTH self.seats[2].data.who = EAST self.west = self.seats[0] self.south = self.seats[1] self.east = self.seats[2] self.west.data.score = 0 self.south.data.score = 0 self.east.data.score = 0 self.min_players = 3 self.max_players = 3 self.layout = ThreePlayerCardGameLayout() else: self.log_pre( "MAJOR ERROR: Hokm initialization with invalid mode %s!" % self.mode)
def __init__(self, server, table_name): super(Whist, self).__init__(server, table_name) self.game_display_name = "Whist" self.game_name = "whist" self.seats = [ Seat("North"), Seat("East"), Seat("South"), Seat("West"), ] self.min_players = 4 self.max_players = 4 self.state = State("need_players") self.prefix = "(^RWhist^~): " self.log_prefix = "%s/%s: " % (self.table_display_name, self.game_display_name) # Whist-specific guff. self.ns = Struct() self.ns.score = 0 self.ew = Struct() self.ew.score = 0 self.seats[0].data.who = NORTH self.seats[1].data.who = EAST self.seats[2].data.who = SOUTH self.seats[3].data.who = WEST self.goal = 5 self.trick = None self.trump_suit = None self.led_suit = None self.turn = None self.dealer = None self.winner = None self.layout = FourPlayerCardGameLayout()