void CardKnowledge::setIsPlayable()

in csrc/SmartBot.cc [182:201]


void CardKnowledge::setIsPlayable(bool knownPlayable)
{
    for (Color k = RED; k <= BLUE; ++k) {
        int playableValue = bot_->server_->pileOf(k).size() + 1;
        for (int v = 1; v <= 5; ++v) {
            if (this->cantBe_[k][v]) continue;
            if ((v == playableValue) != knownPlayable) {
                this->cantBe_[k][v] = true;
            }
        }
    }
    possibilities_ = -1;
    if (color_ == -1) color_ = -2;
    if (value_ == -1) value_ = -2;
    playable_ = (knownPlayable ? YES : NO);
    probabilityPlayable_ = (knownPlayable ? 1.0 : 0.0);
    if (valuable_ == MAYBE) probabilityValuable_ = -1.0;
    if (worthless_ == MAYBE) probabilityWorthless_ = -1.0;
    if (knownPlayable) { worthless_ = NO; probabilityWorthless_ = 0.0; }
}