Index: /code/branches/wagnis_HS18/src/modules/wagnis/CMakeLists.txt
===================================================================
--- /code/branches/wagnis_HS18/src/modules/wagnis/CMakeLists.txt	(revision 12099)
+++ /code/branches/wagnis_HS18/src/modules/wagnis/CMakeLists.txt	(revision 12100)
@@ -2,5 +2,4 @@
   WagnisProvince.cc
   WagnisGameboard.cc
-  WagnisPlayer.cc
 )
 
Index: /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.cc
===================================================================
--- /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.cc	(revision 12099)
+++ /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.cc	(revision 12100)
@@ -25,19 +25,69 @@
     }
     //Manages a Players turn
-    void WagnisPlayer::playerTurn(WagnisGameboard* gameBoard){
+    void WagnisPlayer::playerTurn(){
         
     }
-    //checks if a move is valid
-    bool WagnisPlayer::checkMove(WagnisGameboard*,WagnisProvince*,WagnisProvince*){
+    //checks if a move is valid, possible MoveTypes: ATTACK, MOVE, SET_TROOPS, SET_TROOPS_INITIAL
+    bool WagnisPlayer::checkMove(WagnisProvince*,WagnisProvince*,MoveType)
+    {
+        if (MoveType == ATTACK)
+        {
+            if (isNeighbour(this->origin, this->target))//TODO: provinces neighbours
+            {
+                if (this->origin->getOwner_ID() == this->Player_ID) //origin belongs to player
+                {
+                    if (this->target->getOwner_ID() != this->Player_ID)//target belongs to enemy
+                        return true;
+                }
+            }
+        }
+
+        if (MoveType == MOVE)
+        {
+            if (existPath(this->origin, this->target))//TODO: path exists, all belong to same player
+            {
+                if (this->origin->getOwner_ID() == this->Player_ID)//origin belongs to player
+                    return true;
+            }
+
+        }
+
+        if (MoveType == SET_Troops)
+        {
+            if (this->target->getOwner_ID() == this->Player_ID)//target belongs to player
+                return true;
+        }
+
+        if (MoveType == SET_TROOPS_INITIAL)
+        {
+            if (this->target->getOwner_ID() == 0)//target belongs to nobody
+                return true;
+        }
+        
         return false;
     }
+    
+    //TODO
+    bool WagnisPlayer::isNeighbour(WagnisProvince*,WagnisProvince*)
+    {
+        for ()
+        
+        return false;
+    }
+
+    //TODO
+    bool WagnisPlayer::existPath(WagnisProvince*,WagnisProvince*)
+    {
+        return false;
+    }
+    
     //
-    void WagnisPlayer::setTroops(WagnisGameboard* gameBoard,WagnisProvince* prov,MoveType type){
+    void WagnisPlayer::setTroops(WagnisProvince*){
 
     }
-    void WagnisPlayer::attack(WagnisGameboard* gameBoard,WagnisProvince* own,WagnisProvince* target){
+    void WagnisPlayer::attack(WagnisProvince*,WagnisProvince*){
 
     }
-    void WagnisPlayer::moveTroops(WagnisGameboard* gameBoard,WagnisProvince* current,WagnisProvince* target){
+    void WagnisPlayer::moveTroops(WagnisProvince*,WagnisProvince*){
 
     }
Index: /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.h
===================================================================
--- /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.h	(revision 12099)
+++ /code/branches/wagnis_HS18/src/modules/wagnis/WagnisPlayer.h	(revision 12100)
@@ -15,5 +15,5 @@
 #include <string>
 
-enum MoveType { ATTACK, MOVE, SET_TROOPS };
+enum MoveType { ATTACK, MOVE, SET_TROOPS, SET_TROOPS_INITIAL };
 
 
@@ -27,5 +27,5 @@
         virtual ~WagnisPlayer();
 
-        void playerTurn(WagnisGameboard*);
+        void playerTurn();
         bool checkMove(WagnisProvince*,WagnisProvince*,MoveType);
         void setTroops(WagnisProvince*);
@@ -39,4 +39,6 @@
         WagnisProvince* origin;
         WagnisProvince* target;
+        bool isNeighbour(WagnisProvince*,WagnisProvince*);
+        bool existPath(WagnisProvince*,WagnisProvince*)
     };
 }
