Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.cc @ 12102

Last change on this file since 12102 was 12100, checked in by samuelbl, 6 years ago

Wagnis Player updated

File size: 2.4 KB
RevLine 
[12069]1
2
3
4
5
6
7#include "WagnisPlayer.h"
8#include <vector>
9#include <string>
10
11namespace orxonox
12{
13    RegisterClass(WagnisPlayer);
14
15    //Constructor
[12080]16    WagnisPlayer::WagnisPlayer(Context* context,WagnisGameboard* gb) : Baseclass(context){
[12069]17        RegisterObject(WagnisPlayer);
[12080]18        this->origin = nullptr;
19        this->target = nullptr;
20        this->gameBoard = gb;
[12069]21    }
22    //Destructor
23    WagnisPlayer::~WagnisPlayer(){
24
25    }
26    //Manages a Players turn
[12100]27    void WagnisPlayer::playerTurn(){
[12069]28       
29    }
[12100]30    //checks if a move is valid, possible MoveTypes: ATTACK, MOVE, SET_TROOPS, SET_TROOPS_INITIAL
31    bool WagnisPlayer::checkMove(WagnisProvince*,WagnisProvince*,MoveType)
32    {
33        if (MoveType == ATTACK)
34        {
35            if (isNeighbour(this->origin, this->target))//TODO: provinces neighbours
36            {
37                if (this->origin->getOwner_ID() == this->Player_ID) //origin belongs to player
38                {
39                    if (this->target->getOwner_ID() != this->Player_ID)//target belongs to enemy
40                        return true;
41                }
42            }
43        }
44
45        if (MoveType == MOVE)
46        {
47            if (existPath(this->origin, this->target))//TODO: path exists, all belong to same player
48            {
49                if (this->origin->getOwner_ID() == this->Player_ID)//origin belongs to player
50                    return true;
51            }
52
53        }
54
55        if (MoveType == SET_Troops)
56        {
57            if (this->target->getOwner_ID() == this->Player_ID)//target belongs to player
58                return true;
59        }
60
61        if (MoveType == SET_TROOPS_INITIAL)
62        {
63            if (this->target->getOwner_ID() == 0)//target belongs to nobody
64                return true;
65        }
66       
[12080]67        return false;
68    }
[12100]69   
70    //TODO
71    bool WagnisPlayer::isNeighbour(WagnisProvince*,WagnisProvince*)
72    {
73        for ()
74       
75        return false;
76    }
77
78    //TODO
79    bool WagnisPlayer::existPath(WagnisProvince*,WagnisProvince*)
80    {
81        return false;
82    }
83   
[12069]84    //
[12100]85    void WagnisPlayer::setTroops(WagnisProvince*){
[12069]86
87    }
[12100]88    void WagnisPlayer::attack(WagnisProvince*,WagnisProvince*){
[12069]89
90    }
[12100]91    void WagnisPlayer::moveTroops(WagnisProvince*,WagnisProvince*){
[12069]92
93    }
94    //Return a "Player x" String
95    std::string WagnisPlayer::toString(){
96        std::string str = "Player ";
97        str.append(std::to_string(Player_ID);
98        return str;
99    }
100}
Note: See TracBrowser for help on using the repository browser.