mirror of
https://github.com/ProgramSnail/rts_game_backend.git
synced 2025-12-11 20:28:43 +00:00
added input, some changes
This commit is contained in:
parent
733bcbd99d
commit
76c85016d8
10 changed files with 54 additions and 4 deletions
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"cmake.configureOnOpen": true
|
||||||
|
}
|
||||||
|
|
@ -3,3 +3,20 @@
|
||||||
|
|
||||||
Game::Game(size_t playersNum, std::pair<size_t, size_t> sz) :
|
Game::Game(size_t playersNum, std::pair<size_t, size_t> sz) :
|
||||||
playersNum(playersNum), gameMap(sz) {}
|
playersNum(playersNum), gameMap(sz) {}
|
||||||
|
|
||||||
|
void Game::begin() {
|
||||||
|
// init map
|
||||||
|
// create basic units
|
||||||
|
}
|
||||||
|
|
||||||
|
void Game::step() {
|
||||||
|
// gameMap.step();
|
||||||
|
for (size_t i = 0; i < units.size(); ++i) {
|
||||||
|
units[i].step();
|
||||||
|
}
|
||||||
|
// all game step
|
||||||
|
}
|
||||||
|
|
||||||
|
void Game::end() {
|
||||||
|
// end all
|
||||||
|
}
|
||||||
|
|
@ -16,4 +16,7 @@ private:
|
||||||
public:
|
public:
|
||||||
// may be more than one map sizes ??
|
// may be more than one map sizes ??
|
||||||
Game(size_t playersNum, std::pair<size_t, size_t> sz);
|
Game(size_t playersNum, std::pair<size_t, size_t> sz);
|
||||||
|
void begin();
|
||||||
|
void step();
|
||||||
|
void end();
|
||||||
};
|
};
|
||||||
|
|
@ -45,4 +45,8 @@ namespace map {
|
||||||
}
|
}
|
||||||
return way;
|
return way;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void generate() {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -26,5 +26,6 @@ namespace map {
|
||||||
std::pair<size_t, size_t> start,
|
std::pair<size_t, size_t> start,
|
||||||
std::pair<size_t, size_t> end);
|
std::pair<size_t, size_t> end);
|
||||||
|
|
||||||
|
void generate();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,14 +1,19 @@
|
||||||
#include <curses.h>
|
#include <curses.h>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
#include "game/game.hpp"
|
||||||
#include "out_api/init.hpp"
|
#include "out_api/init.hpp"
|
||||||
#include "out_api/menu_draw.hpp"
|
#include "out_api/menu_draw.hpp"
|
||||||
#include "out_api/game_draw.hpp"
|
#include "out_api/game_draw.hpp"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
Game game(2, {100, 100});
|
||||||
|
game.begin();
|
||||||
init::begin();
|
init::begin();
|
||||||
while (!init::stop()) {
|
while (!init::stop()) {
|
||||||
game_draw::drawAll();
|
game_draw::drawAll();
|
||||||
|
game.step();
|
||||||
init::step();
|
init::step();
|
||||||
}
|
}
|
||||||
init::end();
|
init::end();
|
||||||
|
game.end();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,13 @@
|
||||||
#include "input.hpp"
|
#include "input.hpp"
|
||||||
|
|
||||||
namespace init {
|
namespace init {
|
||||||
|
WINDOW* stdscr;
|
||||||
|
|
||||||
void begin() {
|
void begin() {
|
||||||
initscr();
|
stdscr = initscr();
|
||||||
noecho();
|
noecho();
|
||||||
curs_set(false);
|
curs_set(false);
|
||||||
|
nodelay(stdscr, true);
|
||||||
draw::begin();
|
draw::begin();
|
||||||
input::begin();
|
input::begin();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ namespace input {
|
||||||
}
|
}
|
||||||
|
|
||||||
void step() {
|
void step() {
|
||||||
|
lastInput = getch();
|
||||||
}
|
}
|
||||||
|
|
||||||
void end() {
|
void end() {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <curses.h>
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
namespace input {
|
namespace input {
|
||||||
|
char lastInput = ERR;
|
||||||
|
|
||||||
void begin();
|
void begin();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
#include <set>
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// add keyboard to keys rebinding for each InputController
|
||||||
|
|
||||||
|
class InputController {
|
||||||
|
private:
|
||||||
|
|
||||||
|
public:
|
||||||
|
InputController()
|
||||||
|
};
|
||||||
Loading…
Add table
Add a link
Reference in a new issue