~tapaal-dist-ctl/verifypn/framework_game

« back to all changes in this revision

Viewing changes to CTL/Game/iPlayer.h

  • Committer: lasjen12 at aau
  • Date: 2016-05-19 14:37:53 UTC
  • Revision ID: lasjen12@student.aau.dk-20160519143753-gffz7s50e6ynztk4
Game ready for beta testing

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef IGAME_H
 
2
#define IGAME_H
 
3
 
 
4
#include "Position.h"
 
5
#include "../DependencyGraph/Edge.h"
 
6
#include "../DependencyGraph/Configuration.h"
 
7
 
 
8
namespace DependencyGraph {
 
9
 
 
10
namespace Game {
 
11
 
 
12
class iPlayer {
 
13
public:
 
14
    virtual std::string PlayerName() =0;
 
15
    virtual DependencyGraph::Edge *Turn(const Configuration::container_type &edges) =0;
 
16
    virtual DependencyGraph::Configuration *Turn(const Edge::container_type &configurations) =0;
 
17
    virtual void AnnounceStart(GamePosition startPosition, const iPlayer *attacker, const iPlayer *defender) =0;
 
18
    virtual void AnnounceNextPosition(GamePosition nextPosition) =0;
 
19
    virtual void AnnounceEdgePicked(Edge *edge) =0;
 
20
    virtual void AnnounceConfigurationPicked(Configuration *configuration) =0;
 
21
    virtual void AnnounceEnd(GamePosition finalPosition, iPlayer *winner, iPlayer *looser) =0;
 
22
};
 
23
}
 
24
}
 
25
 
 
26
#endif // IGAME_H