So I gone through all the videos of BullCowGame and then implemented this. Used lower level implementations of some helper functions like IsLowercase() and IsAlphabetic() since I found the std::alpha and those are locale dependent and may not work the same in all compilers. Also I thought the end game detection was done mostly on main.cpp while it should only contain user interfacing. So I made it a bit more cleaner with a new Enum implemented inside the game class itself. Hope you find it useful and please share any errors,bugs or changes you feel required.