import Foundation

class CardHoldingPlayer: Player {

    var didDouble: Bool

    var cards: [Card]

    var selectsGame = false

    override init(player: Player) {
        self.cards = []
        self.didDouble = false
        super.init(player: player)
    }

    init(player: CardHoldingPlayer) {
        self.cards = player.cards
        self.didDouble = player.didDouble
        self.selectsGame = player.selectsGame
        super.init(player: player)
    }

    override var states: [PlayerState] {
        var states = super.states
        if didDouble {
            states.append(.didDouble)
        }
        if selectsGame {
            states.append(.isGameSelector)
        }
        return states
    }

    override var info: PlayerInfo {
        var info = super.info
        info.numberOfDoubles = didDouble ? 1 : 0
        return info
    }
}
