From eea91417c9ac1f1e177b9e6a69469bf7cc9e0817 Mon Sep 17 00:00:00 2001 From: ProgramSnail Date: Sun, 4 Apr 2021 17:09:42 +0300 Subject: [PATCH] . --- CMakeLists.txt | 47 ++++++++++++++++++++++++++++++++++++--- src/out_api/draw.cpp | 7 ++++-- src/out_api/draw.hpp | 12 ++++++---- src/out_api/game_draw.cpp | 10 +++++++++ src/out_api/game_draw.hpp | 5 +++++ 5 files changed, 72 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 581f011..44d18b7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,48 @@ include_directories(${CURSES_INCLUDE_DIR}) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) -set(SOURCES main.cpp) +set(GameSource main.cpp) -add_executable(Game ${SOURCES}) -target_link_libraries(Game ${CURSES_LIBRARIES}) \ No newline at end of file +set(OutApiSource + out_api/draw.cpp + out_api/game_draw.cpp + out_api/init.cpp + out_api/input_controller.cpp + out_api/input.cpp + out_api/menu_draw.cpp) + +set(MenuSource + menu/menu.cpp) + +set(GameMainSource + game/game_events.cpp + game/game_map.cpp + game/game_menu.cpp) + +set(GameUnitSource + game/unit/module_builder.cpp + game/unit/unit_builder.cpp + game/unit/unit_module.cpp + game/unit/unit.cpp) + +set(GameMapEntitiesSource + game/map_entities/cell.cpp + game/map_entities/unit_obj.cpp + game/map_entities/actions/attack_action.cpp) + +add_library(OutApi ${OutApiSource}) +add_library(Menu ${MenuSource}) +add_library(GameMain ${GameMainSource}) +add_library(GameUnit ${GameUnitSource}) +add_library(GameMapEntities ${GameMapEntitiesSource}) + +set(LIBS + OutApi + Menu + GameMain + GameUnit + GameMapEntities) + +add_executable(Game ${GameSource}) +target_link_libraries(Game ${CURSES_LIBRARIES}) +target_link_libraries(Game ${LIBS}) \ No newline at end of file diff --git a/src/out_api/draw.cpp b/src/out_api/draw.cpp index 78cb046..fe78c50 100644 --- a/src/out_api/draw.cpp +++ b/src/out_api/draw.cpp @@ -4,8 +4,11 @@ namespace draw { void initColorPairs() { - init_pair(ColorScheme::simple, COLOR_BLACK, COLOR_WHITE); - init_pair(ColorScheme::active, COLOR_WHITE, COLOR_BLACK); + init_pair(ColorScheme::blank, COLOR_BLACK, COLOR_WHITE); + init_pair(ColorScheme::map_simple, COLOR_BLACK, COLOR_WHITE); + init_pair(ColorScheme::map_active, COLOR_WHITE, COLOR_BLACK); + init_pair(ColorScheme::menu_simple, COLOR_BLACK, COLOR_WHITE); + init_pair(ColorScheme::menu_active, COLOR_WHITE, COLOR_BLACK); init_pair(ColorScheme::player0, COLOR_BLACK, COLOR_RED); init_pair(ColorScheme::player1, COLOR_BLACK, COLOR_BLUE); init_pair(ColorScheme::player2, COLOR_BLACK, COLOR_MAGENTA); diff --git a/src/out_api/draw.hpp b/src/out_api/draw.hpp index 978273d..ef33014 100644 --- a/src/out_api/draw.hpp +++ b/src/out_api/draw.hpp @@ -6,20 +6,24 @@ namespace draw { enum ColorScheme { simple, - active, + map_simple, + map_active, + menu_simple, + menu_active, player0, player1, player2, player3, neutral, damaged, - enviroment + enviroment, }; enum Cell { blank = ' ', - menu_h = '-', - menu_v = '|', + menu_hb = '-', + menu_vb = '|', + menu_c = ' ', field = '.', mountain = '^', unit = '#' diff --git a/src/out_api/game_draw.cpp b/src/out_api/game_draw.cpp index e69de29..f8887d8 100644 --- a/src/out_api/game_draw.cpp +++ b/src/out_api/game_draw.cpp @@ -0,0 +1,10 @@ +#include "draw.hpp" +#include "game_draw.hpp" + +namespace game_draw { + void draw() { + std::size_t width; + std::size_t height; + + } +} \ No newline at end of file diff --git a/src/out_api/game_draw.hpp b/src/out_api/game_draw.hpp index e69de29..6b7b9eb 100644 --- a/src/out_api/game_draw.hpp +++ b/src/out_api/game_draw.hpp @@ -0,0 +1,5 @@ +#pragma once + +namespace game_draw { + void draw(); +} \ No newline at end of file