// critter caretaker #include <iostream> using namespace std; class Critter { public: Critter(int hunger = 0, int boredom = 0); void Talk(); void Eat(int food = 4); void Play(int fun = 4); private: int m_Hunger; int m_Boredom; int GetMood() const; void PassTime(int time = 1); }; Critter::Critter(int hunger, int boredom) :m_Hunger(hunger), m_Boredom(boredom) {} int inline Critter::GetMood() const { return (m_Hunger + m_Boredom); } void Critter::PassTime(int time) { m_Hunger += time; m_Boredom += time; } void Critter::Talk() { cout << "I'm a ctriter and I feel "; int mood = GetMood(); if (mood > 15) cout << "mad./n"; else if (mood > 10) cout << "frustrated./n"; else if (mood > 5) cout << "okey./n"; else cout << "happy./n"; PassTime(); } void Critter::Eat(int food) { cout << "Brruppp./n"; m_Hunger -= food; if (m_Hunger < 0) { m_Hunger = 0; PassTime(); } } void Critter::Play(int fun) { cout << "wheee./n"; m_Boredom -= fun; if (m_Boredom < 0) { m_Boredom = 0; PassTime(); } } int main () { Critter crit; crit.Talk(); int choice; do { cout << "/nCritter Caretaker/n/n"; cout << "0 - Quit/n"; cout << "1 - Listen to your critter/n"; cout << "2 - Feed your critter/n"; cout << "3 - Play with your critter/n/n"; cout << "Choice: "; cin >> choice; switch (choice) { case 0: cout << "Good-bye./n"; break; case 1: crit.Talk(); break; case 2: crit.Eat(); break; case 3: crit.Play(); break; default: cout << "/nSorry,but " << choice << "isn't a walid choice./n"; } }while (choice != 0); system("PAUSE"); return 0; }