-
Чаадаев Алексей Константинович authored6288178d
#pragma once
#include <SFML/Graphics.hpp>
#define IS_LIGHT 0
namespace config {
// Общее:
const unsigned int FRAME_RATE_LIMIT = 60;
// Меню:
const sf::Vector2f BUTTON_SIZE = { 250, 100 };
const size_t BUTTON_FONT_SIZE = static_cast<size_t>(BUTTON_SIZE.y / 1.5f);
const float BUTTON_FRAME_THICKNESS = 2.0f;
const char FONT_FILE[] = "Calibri-Light.ttf";
const char SELECT_LEVEL_TITLE[] = "Select Level";
const sf::VideoMode SELECT_LEVEL_VIDEO_MODE{ 400, 600 };
const char BUTTON_TEXT_EASY[] = "Easy";
const char BUTTON_TEXT_MEDIUM[] = "Medium";
const char BUTTON_TEXT_HARD[] = "Hard";
const char BUTTON_TEXT_EXIT[] = "Exit";
// Игра:
const sf::VideoMode GAME_VIDEO_MODE{ 1080, 720 };
const char EASY_GAME_TITLE[] = "Level: Easy";
const char MEDIUM_GAME_TITLE[] = "Level: Medium";
const char HARD_GAME_TITLE[] = "Level: Hard";
// Вероятности
const float EASY_GAME_ENEMY_RATIO = 0.0f;
const float MEDIUM_GAME_ENEMY_RATIO = 0.04f;
const float HARD_GAME_ENEMY_RATIO = 0.07f;
const float EASY_IP_SPAWN_PROBAB = 0;
const float MEDIUM_IP_SPAWN_PROBAB = 0.005;
const float HARD_IP_SPAWN_PROBAB = 0.02;
// Размеры объектов
const float ROOM_SIZE = 50;
const float GAME_ENEMY_SIZE = ROOM_SIZE * 0.7;
const float GAME_FOOD_SIZE = ROOM_SIZE * 0.2;
const float GAME_PACMAN_SIZE = ROOM_SIZE * 0.8;
const float GAME_INVIS_POTION_SIZE = ROOM_SIZE * 0.35;
// Кнопки
const sf::Keyboard::Key KEY_LEFT = sf::Keyboard::A;
const sf::Keyboard::Key KEY_RIGHT = sf::Keyboard::D;
const sf::Keyboard::Key KEY_UP = sf::Keyboard::W;
const sf::Keyboard::Key KEY_DOWN = sf::Keyboard::S;
const sf::Keyboard::Key KEY_INVENTORY = sf::Keyboard::E;
const sf::Keyboard::Key KEY_POTION = sf::Keyboard::V;
const sf::Keyboard::Key KEY_CONVERT = sf::Keyboard::C;
const sf::Keyboard::Key KEY_KILL_ENEMY = sf::Keyboard::Q;
const sf::Keyboard::Key KEY_GAME_PAUSE = sf::Keyboard::P;
// Размеры в инвентаре
const float CELL_SIZE = GAME_PACMAN_SIZE * 1.5;
const float CELL_FRAME_THICKNESS = 1;
const float INVENTORY_WIDTH = CELL_SIZE * 4;
const float INVENTORY_HEIGHT = CELL_SIZE * 1.33;
const float INVETORY_FRAME_THICKNESS = 1;
const size_t INVENTORY_FONT_SIZE = static_cast<size_t>(INVENTORY_HEIGHT / 4.5f);
// Размеры меню паузы
const float PAUSE_POP_UP_WIDTH = config::GAME_VIDEO_MODE.width * 0.25 * 1.5;
const float PAUSE_POP_UP_HEIGHT = config::GAME_VIDEO_MODE.height * 0.25;
const size_t PAUSE_POP_UP_FONT_SIZE = static_cast<size_t>(PAUSE_POP_UP_HEIGHT * 0.25);
const float PAUSE_POP_UP_FRAME_THICKNESS = 1;
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
// Предметы в инвентаре:
const size_t INVIS_POTION_DURATION = 300; //в тиках
const size_t START_BLINKING_TIME = 160;
const size_t BLINKING_GAP_DURATION = 20;
const size_t ENEMY_KILL_COUNT_FOOD = 50;
const size_t ANIMATION_FRAMES_GAP = 3;
// Цвета:
#if IS_LIGHT == 1:
// Базовые
const sf::Color BUTTON_COLOR_TEXT { 0, 0, 0 };
const sf::Color BUTTON_COLOR_FILL{ 180, 180, 180 };
const sf::Color BUTTON_COLOR_SELECTION{ 255, 180, 180 };
const sf::Color BUTTON_COLOR_FRAME{ 0, 0, 0 };
const sf::Color SELECT_LEVEL_BACKGROUND_COLOR{ 230,230,230 };
const sf::Color GAME_COLOR_BACKGROUND_INGAME{ 230,230,230 };
const sf::Color GAME_COLOR_BACKGROUND_WIN{ 0, 255, 0 };
const sf::Color GAME_COLOR_BACKGROUND_LOST{ 255, 0, 0 };
const sf::Color GAME_COLOR_PACMAN{ 250, 150, 0 };
const sf::Color GAME_COLOR_PACMAN_INVISIBLE{ 250, 150, 0, 128 };
const sf::Color GAME_COLOR_ROOM{ 255, 255, 255 };
const sf::Color GAME_COLOR_WALL{ 0, 0, 0 };
const sf::Color GAME_FOOD_COLOR{ 0, 200, 100 };
// Инвентарь
const sf::Color CELL_COLOR = sf::Color{ 255,255,255, 255 };
const sf::Color CELL_OUTLINE_COLOR = sf::Color{ 0,0,0 };
const sf::Color INVENTORY_COLOR = sf::Color{ 230,230,230, 225 };
const sf::Color INVENTORY_OUTLINE_COLOR = sf::Color{ 20,20,20 };
const sf::Color INVENTORY_COLOR_TEXT{ 0, 0, 0 };
// Меню паузы
const sf::Color PAUSE_POP_UP_COLOR = sf::Color{ 255,255,255 };
const sf::Color PAUSE_POP_UP_OUTLINE_COLOR = sf::Color{ 0,0,0 };
#else:
// Базовые
const sf::Color BUTTON_COLOR_TEXT{ 255, 255, 255 };
const sf::Color BUTTON_COLOR_FILL{ 0, 0, 0 };
const sf::Color BUTTON_COLOR_SELECTION{ 50, 50, 100 };
const sf::Color BUTTON_COLOR_FRAME{ 0, 0, 255 };
const sf::Color SELECT_LEVEL_BACKGROUND_COLOR{ 25,25,25 };
const sf::Color GAME_COLOR_BACKGROUND_INGAME{ 50,50,50 };
const sf::Color GAME_COLOR_BACKGROUND_WIN{ 0, 100, 0 };
const sf::Color GAME_COLOR_BACKGROUND_LOST{ 100, 0, 0 };
const sf::Color GAME_COLOR_PACMAN{ 250, 250, 0 };
const sf::Color GAME_COLOR_PACMAN_INVISIBLE { 250, 250, 0, 128 };
const sf::Color GAME_COLOR_ROOM{ 0, 0, 0 };
const sf::Color GAME_COLOR_WALL{ 0, 0, 255 };
const sf::Color GAME_FOOD_COLOR{ 0, 200, 100 };
// Инвентарь
const sf::Color CELL_COLOR = sf::Color{ 0,0,0, 255 };
const sf::Color CELL_OUTLINE_COLOR = sf::Color{ 0,0, 255 };
const sf::Color INVENTORY_COLOR = sf::Color{ 0,0,0, 150 };
const sf::Color INVENTORY_OUTLINE_COLOR = sf::Color{ 0,0,255 };
const sf::Color INVENTORY_COLOR_TEXT{ 255, 255, 255 };
// Меню паузы
const sf::Color PAUSE_POP_UP_COLOR = sf::Color{ 0,0,0, 255 };
const sf::Color PAUSE_POP_UP_OUTLINE_COLOR = sf::Color{ 0,0,255 };
#endif
}