Deep RTS
Scenario.h
Go to the documentation of this file.
1//
2// Created by per on 9/6/21.
3//
4
5#ifndef DEEPRTS_SCENARIO_H
6#define DEEPRTS_SCENARIO_H
7
8#include <Game.h>
10class Player;
11
13 class Scenario: public Game {
14 public:
15 using ActionSequenceContainer = std::vector<std::tuple<Constants::Action, const std::string>>;
16
17 std::array<Criteria::ScenarioCriteria::ScenarioContainer, 8> criteriaList;
18 explicit Scenario(
19 const std::string& map,
22 );
23
24 void update() override;
25
26 [[nodiscard]] bool evaluate(const Player& player);
27 [[nodiscard]] int reward(const Player &player);
28 [[maybe_unused]] virtual ActionSequenceContainer optimalStrategy();
29 std::tuple<int, int, bool> computeOptimalStrategy(Player& player);
30 std::tuple<int, int, bool> optimalPlayGameStep(Player &player);
31 };
32}
33
34#endif //DEEPRTS_SCENARIO_H
Definition: Config.h:8
std::vector< std::shared_ptr< ScenarioCriteria > > ScenarioContainer
Definition: ScenarioCriteria.h:20
Definition: Scenario.h:13
std::array< Criteria::ScenarioCriteria::ScenarioContainer, 8 > criteriaList
Definition: Scenario.h:17
std::tuple< int, int, bool > optimalPlayGameStep(Player &player)
Definition: Scenario.cpp:102
void update() override
Game Update Function.
Definition: Scenario.cpp:110
bool evaluate(const Player &player)
Definition: Scenario.cpp:28
std::vector< std::tuple< Constants::Action, const std::string > > ActionSequenceContainer
Definition: Scenario.h:15
int reward(const Player &player)
Definition: Scenario.cpp:37
std::tuple< int, int, bool > computeOptimalStrategy(Player &player)
Definition: Scenario.cpp:50
virtual ActionSequenceContainer optimalStrategy()
Definition: Scenario.cpp:45
Scenario(const std::string &map, Config config, Criteria::ScenarioCriteria::ScenarioContainer &&criterias)
Definition: Scenario.cpp:12
Definition: Game.h:23
Map map
Const Map (Order 1)
Definition: Game.h:62
const Config config
Definition: Game.h:59
Definition: Player.h:18
Definition: Scenario.h:12