#include "elpuani.h" #include "kagit.h" #include using namespace std; // TODO: Sihirli sabitleri yok et // size_t const birliVeValeDegeri = 1; // size_t const guzelOnluDegeri = 3; // size_t const guzelIki size_t kagitDegeri(Kagit const & kagit) { if ((kagit.deger() == Deger_vale) || (kagit.deger() == Deger_as)) { return 1; } else if (kagit == guzelOnlu) { return 3; } else if(kagit == guzelIkili) { return 2; } return 0; } void ElPuani::ekle(Kagit const & kagit) { puan_ += kagitDegeri(kagit); kagitlar_.push_back(kagit); } ElPuani::ElPuani() : puan_(0) {} bool ElPuani::ekle(Deste const & deste) { bool pisti = false; if ((deste.size() == 2) && (deste[0].deger() == deste[1].deger())) { pisti = true; puan_ += 10; } for (size_t i = 0; i != deste.size(); ++i) { ekle(deste[i]); } return pisti; } int ElPuani::puan() const { int const toplamKagit = toplamRenk * toplamDeger; bool const kagitUc = kagitlar_.size() > (toplamKagit / 2); return puan_ + (kagitUc ? 3 : 0); }