     @nPlayers = @players.length
     @current = @players[0]
     @supply = this.makeSupply(tableau)
-    @totalSupplyCards = []
-    this.updateTotalSupplyCards()
     # Cards like Tournament or Black Market may put cards in a special supply
     @specialSupply = {}
     @trash = []


    return this
  
  updateTotalSupplyCards: () ->
    total = 0
    for card, count of @supply
      total += count
    @totalSupplyCards.push(total)

  # `setUpWithOptions` is the function I'd like to use as the primary way of setting up
  # a new game, doing the work of choosing a set of kingdom and extra cards (what I call
  # the tableau) with the cards they require plus random cards, and handling options.

    # Add a fake game-ending condition, too, which is a stalemate the SillyAI
    # sometimes ends up in.
    emptyPiles = this.emptyPiles()
    if emptyPiles.length >= this.totalPilesToEndGame() \
        or (@nPlayers < 5 and emptyPiles.length >= 3) \
        or 'Province' in emptyPiles \
        or 'Colony' in emptyPiles \
        or ('Curse' in emptyPiles and 'Copper' in emptyPiles and @current.turnsTaken >= 100)
      this.log("Empty piles: #{emptyPiles}")
      for [playerName, vp, turns] in this.getFinalStatus()
        this.log("#{playerName} took #{turns} turns and scored #{vp} points.")
