diff --git a/lesson_3/exercise_4.hpp b/lesson_3/exercise_4.hpp index ade8be2..7563beb 100644 --- a/lesson_3/exercise_4.hpp +++ b/lesson_3/exercise_4.hpp @@ -1,8 +1,44 @@ #ifndef EXERCISE_4_HPP_ #define EXERCISE_4_HPP_ +#include +class Card +{ +public: + enum rank {ACE = 1, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING}; + enum suit {CLUBS, DIAMONDS, HEARTS, SPADES}; + Card(rank r = ACE, suit s = SPADES, bool ifu = true): m_Rank(r), m_Suit(s), m_IsFaceUp(ifu) { } + int GetValue() const; + void Flip(); + +// friend std::ostream& operator<<(std::ostream& s, const Card& aCard); + +private: + rank m_Rank; + suit m_Suit; + bool m_IsFaceUp; +}; + +int Card::GetValue() const +{ + int value = 0; + if (m_IsFaceUp) + { + value = m_Rank; + if (value > 10) + { + value = 10; + } + } + return value; +} + +void Card::Flip() +{ + m_IsFaceUp = !m_IsFaceUp; +} #endif diff --git a/lesson_3/main.cpp b/lesson_3/main.cpp index 065bbe5..c8a17cc 100644 --- a/lesson_3/main.cpp +++ b/lesson_3/main.cpp @@ -15,10 +15,9 @@ void ex_4(); int main() { -// ex_1(); -// ex_2(); + ex_1(); + ex_2(); ex_3(); - ex_4(); return 0; } @@ -129,8 +128,3 @@ void ex_3() * [c >= a] 0 >= 3/9 is false */ } - -void ex_4() -{ - -}