32 lines
732 B
C++
32 lines
732 B
C++
#ifndef __GAME_H__
|
|
#define __GAME_H__
|
|
#include <memory>
|
|
#include <vector>
|
|
#include "constants.h"
|
|
#include "display.h"
|
|
#include "input.h"
|
|
#include "rng.h"
|
|
#include "characters.h"
|
|
#include "map.h"
|
|
#include "log.h"
|
|
|
|
class game final {
|
|
private:
|
|
std::unique_ptr<input> ∈
|
|
std::unique_ptr<display> &out;
|
|
std::unique_ptr<logger> &log;
|
|
feature features;
|
|
std::unique_ptr<RNG> rng;
|
|
std::unique_ptr<character> player;
|
|
public:
|
|
game(const feature enabled_features,
|
|
std::unique_ptr<input> &new_in,
|
|
std::unique_ptr<display> &new_out,
|
|
std::unique_ptr<logger> &new_log);
|
|
game_status run();
|
|
private:
|
|
int getcmd() const;
|
|
};
|
|
|
|
#endif
|