You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.1 KiB

  1. #ifndef SPELL_WARZ_USER_INTERFACE_HPP
  2. #define SPELL_WARZ_USER_INTERFACE_HPP 1
  3. #include <iostream>
  4. #include <thread>
  5. #include <chrono>
  6. #include <string>
  7. #include <vector>
  8. #include "Character.hpp"
  9. #include "Spell.hpp"
  10. class UserInterface
  11. {
  12. protected:
  13. static const int maxDay;
  14. static const int maxMonth;
  15. static const int maxYear;
  16. static std::vector<std::string> dayName;
  17. static std::vector<std::string> monthName;
  18. static int day;
  19. static int month;
  20. static int year;
  21. public:
  22. static void print(std::string msg, int interval = 500);
  23. static void println(std::string msg, int interval = 500);
  24. static void printByChar(std::string msg, int interval = 50);
  25. static void welcomeMessage();
  26. static void epilogue();
  27. static void menu();
  28. static void nextDay();
  29. static void characterInfo(Character *);
  30. static void enemiesInfo(std::vector<Character *> &);
  31. static std::string dateString();
  32. static int getNumber(std::string, int, int);
  33. static Character *characterCreation();
  34. static bool isGameOver();
  35. };
  36. #endif