3:['Silver','Chancellor','Village','Woodcutter','Workshop'], 4:['Gardens','Bureaucrat','Feast','Militia','Moneylender','Remodel','Smithy','Spy','Thief','Throne Room'], 5:['Duchy','Market','Council Room','Festival','Laboratory','Library','Mine','Witch'], 6:['Gold','Adventurer'],8:['Province']} #Pick 10 cards from box to be in the supply. boxlist = [k for k in box] random.shuffle(boxlist) random10 = boxlist[:10] supply = defaultdict(list,[(k,box[k]) for k in random10]) #The supply always has these cards supply["Copper"]=[Dominion.Copper()]*(60-len(player_names)*7) supply["Silver"]=[Dominion.Silver()]*40 supply["Gold"]=[Dominion.Gold()]*30 supply["Estate"]=[Dominion.Estate()]*nV supply["Duchy"]=[Dominion.Duchy()]*nV supply["Province"]=[Dominion.Province()]*nV supply["Curse"]=[Dominion.Curse()]*nC #initialize the trash trash = [] #Costruct the Player objects players = [] for name in player_names: if name[0]=="*": players.append(Dominion.ComputerPlayer(name[1:])) elif name[0]=="^": players.append(Dominion.TablePlayer(name[1:]))