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.

53 lines
1.2 KiB

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