# Generation of data for a campaign of Ticket to Ride Legacy Legends of the West # Imports import random # Class for Circus: list of wagons, of the 5 colors class Circus: # There are: # 4 wagons of each colors (until 2 players' stop) # 2 wagons of each colors (until 3 players' stop) # 2 wagons of each colors (until 4 players' stop) # 2 wagons of each colors (until 5 players' stop) # NOTE: In the original distribution, the same color never appears twice in a row # We chose to remove this constraint, for the sake of simplicity def __init__(self, playersNb): wagonsPerColors = 2 * playersNb colors = "blue", "green", "black", "red", "yellow" remaining = {"blue": wagonsPerColors, "green": wagonsPerColors, "black": wagonsPerColors, "red": wagonsPerColors, "yellow": wagonsPerColors} self.wagons = [] for n in range(0, 5 * wagonsPerColors): color = colors[random.randint(0, 4)] while remaining[color] == 0: color = colors[random.randint(0, 4)] self.wagons.append(color) remaining[color] = remaining[color] - 1 #def next(): # returns next color (i.e., color that the player will get it they use circus) myCircus = Circus(3) print(myCircus.wagons)