Deep RTS
ScenarioCriteria.h
Go to the documentation of this file.
1//
2// Created by per on 9/6/21.
3//
4
5#ifndef DEEPRTS_SCENARIOCRITERIA_H
6#define DEEPRTS_SCENARIOCRITERIA_H
7#include <vector>
8#include "ScenarioCriteria.h"
9#include <memory>
10class Player;
11
12
13namespace DeepRTS::Criteria {
15
16 protected:
17 const int rewardSuccess;
18 const int rewardFailure;
19 public:
20 using ScenarioContainer = std::vector<std::shared_ptr<ScenarioCriteria>>;
21 ScenarioCriteria(int rewardSuccess=0.01, int rewardFailure=-0.01);
22
23 virtual std::shared_ptr<ScenarioCriteria> clone() const = 0;
24 virtual bool evaluate(const Player& player) = 0;
25 virtual int reward() const = 0;
26
27
28
29 };
30
31}
32
33#endif //DEEPRTS_SCENARIOCRITERIA_H
Definition: ScenarioCriteria.h:14
const int rewardFailure
Definition: ScenarioCriteria.h:18
virtual int reward() const =0
ScenarioCriteria(int rewardSuccess=0.01, int rewardFailure=-0.01)
Definition: ScenarioCriteria.cpp:7
virtual bool evaluate(const Player &player)=0
virtual std::shared_ptr< ScenarioCriteria > clone() const =0
const int rewardSuccess
Definition: ScenarioCriteria.h:17
std::vector< std::shared_ptr< ScenarioCriteria > > ScenarioContainer
Definition: ScenarioCriteria.h:20
Definition: Player.h:18
Definition: DamageDone.h:10