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.

52 lines
1.2 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 <cstring>
  8. #include "Character.hpp"
  9. #include "Spell.hpp"
  10. class UserInterface
  11. {
  12. protected:
  13. static const int interval; // in ms
  14. static const int miniInterval; // in ms
  15. static const int maxDay;
  16. static const int maxMonth;
  17. static const int maxYear;
  18. static std::vector<std::string> dayName;
  19. static std::vector<std::string> monthName;
  20. static int day;
  21. static int month;
  22. static int year;
  23. static bool gameOver;
  24. public:
  25. static void print(std::string);
  26. static void print(const char *);
  27. static void print(char *);
  28. static void printByChar(std::string);
  29. static void printByChar(const char *);
  30. static void printByChar(char *);
  31. static void welcomeMessage();
  32. static void epilogue();
  33. static void menu();
  34. static void nextDay();
  35. static void characterInfo(Character *);
  36. static void enemiesInfo(std::vector<Character *> &);
  37. static std::string dateString();
  38. static int getNumber(std::string, int, int);
  39. static Character *characterCreation();
  40. static bool isGameOver();
  41. };
  42. #endif