nsnake
Classic snake game for the terminal
Loading...
Searching...
No Matches
Globals.hpp
1#ifndef GLOBALS_H_DEFINED
2#define GLOBALS_H_DEFINED
3
4#include <Interface/Colors.hpp>
5
6#include <string>
7
8// Avoiding cyclic #includes
9struct ScoreEntry;
10
13namespace Globals
14{
23 void init();
24
30 void exit();
31
33 void loadFile();
34
36 void saveFile();
37
38 // Accessing version numbers - version[MAJOR] for example
39#define MAJOR 0
40#define MINOR 1
41#define PATCH 2
42
52 extern char version[3];
53
54 namespace Config
55 {
61 extern std::string directory;
62
66 extern std::string file;
67
71 extern std::string scoresFile;
72 };
73
74 namespace Screen
75 {
76 extern bool center_horizontally;
77 extern bool center_vertically;
78
79 extern bool show_borders;
80 extern bool fancy_borders;
81 extern bool outer_border;
82 };
83
84 namespace Game
85 {
86 extern unsigned int starting_speed;
87
88 extern int fruits_at_once;
89 extern bool random_walls;
90 extern bool teleport;
91
92 // The board size
93 enum BoardSize
94 {
95 SMALL, MEDIUM, LARGE
96 };
97 BoardSize intToBoardSize(int val);
98 int boardSizeToInt(BoardSize size);
99
100 extern BoardSize board_size;
101
102 extern int board_scroll_delay;
103
104 extern bool board_scroll_up;
105 extern bool board_scroll_down;
106 extern bool board_scroll_left;
107 extern bool board_scroll_right;
108
111 extern std::string current_level;
112 };
113
114 namespace Theme
115 {
116 extern ColorPair text;
117 extern ColorPair hilite_text;
118 extern ColorPair textbox;
119 };
120
121 // Flags to warn the user of some error at the end
122 // of execution.
123 namespace Error
124 {
126 extern bool has_config_file;
127
129 extern bool has_score_file;
130
132 extern bool old_version_score_file;
133
135 extern bool strange_score_file;
136 };
137};
138
139#endif //GLOBALS_H_DEFINED
140
Definition Game.hpp:17
All global settings to the game.
Definition Globals.hpp:14
void init()
Allocates necessary variables.
Definition Globals.cpp:82
char version[3]
Game version (format MMP - Major Minor Patch).
Definition Globals.cpp:13
void loadFile()
Loads configuration from the default file name.
Definition Globals.cpp:174
void saveFile()
Saves current configurations to the default file name.
Definition Globals.cpp:273
void exit()
Warns the user about any errors and warnings found during the program's execution.
Definition Globals.cpp:143
A single entry on the high-score file.
Definition ScoreFile.hpp:28