Advertisement
Guest User

Untitled

a guest
May 30th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.66 KB | None | 0 0
  1. // Überprüft welche Spielfigur sich an der angegebenen Position befindet, weißt die activePiece zu und läd sie in die Move-Funktion
  2. int move::testLocation(piece *activePiece, const bool turn, int *board, int posIdent, pos endPos);
  3. {
  4.     // Wenn der Wert auf dem Feld mit dem Ident-Wert eines Bauern übereinstimmt, dann werden die Bauern der Reihe nach abgefragt
  5.     // z.B. 661/10 == 660/10 -> 66 == 66
  6.     if ((posIdent / 10) == (setArray[turn].bauerA.ident / 10))
  7.     {
  8.         // Finde heraus ob die aktuelle Position von 'bauerA' die gleiche wie die eingegebene ist.
  9.         // 660 = 660
  10.         if (posIdent == setArray[turn].bauerA.ident)
  11.         {
  12.             // activePiece wird zu bauerA
  13.             activePiece = &setArray[turn].bauerA;
  14.         }
  15.         else if (posIdent == setArray[turn].bauerB.ident)
  16.         {
  17.             activePiece = &setArray[turn].bauerB;
  18.         }
  19.         else if (posIdent == setArray[turn].bauerC.ident)
  20.         {
  21.             activePiece = &setArray[turn].bauerC;
  22.         }
  23.         else if (posIdent == setArray[turn].bauerD.ident)
  24.         {
  25.             activePiece = &setArray[turn].bauerD;
  26.         }
  27.         else if (posIdent == setArray[turn].bauerE.ident)
  28.         {
  29.             activePiece = &setArray[turn].bauerE;
  30.         }
  31.         else if (posIdent == setArray[turn].bauerF.ident)
  32.         {
  33.             activePiece = &setArray[turn].bauerF;
  34.         }
  35.         else if (posIdent == setArray[turn].bauerG.ident)
  36.         {
  37.             activePiece = &setArray[turn].bauerG;
  38.         }
  39.         else if (posIdent == setArray[turn].bauerH.ident)
  40.         {
  41.             activePiece = &setArray[turn].bauerH;
  42.         }
  43.         else
  44.         {
  45.             return -1;
  46.         }
  47.         // Übergebene Werte noMovement im Falle dass hier ein Gegner geprüft werden soll noMovement -> endPos
  48.         if (endPos.row != -1)
  49.         {
  50.             // Die ausgewählte Figur wird in die Funktion 'moveBauer' geschoben und gibt 1 zurück wenn der Zug gültig ist, 0 für ungültig und -1 für Fehler
  51.             *activePiece = moveBauer(*activePiece);
  52.             // Die Zielposition wird zur Ziel-Position der gewählten aktiven Figur
  53.             activePiece->destPos = endPos;
  54.         }
  55.     }
  56.     else if ((posIdent / 10) == (setArray[turn].turmA.ident / 10))
  57.     {
  58.         if (posIdent == setArray[turn].turmA.ident)
  59.         {
  60.             activePiece = &setArray[turn].turmA;
  61.         }
  62.         else if (posIdent == setArray[turn].turmH.ident)
  63.         {
  64.             activePiece = &setArray[turn].turmH;
  65.         }
  66.         else
  67.         {
  68.             return -1;
  69.         }
  70.         if (endPos.row != -1)
  71.         {
  72.             *activePiece = moveTurm(*activePiece);
  73.             activePiece->destPos = endPos;
  74.         }
  75.     }
  76.     else if ((posIdent / 10) == (setArray[turn].pferdB.ident / 10))
  77.     {
  78.         if (posIdent == setArray[turn].pferdB.ident)
  79.         {
  80.             activePiece = &setArray[turn].pferdB;
  81.         }
  82.         else if (posIdent == setArray[turn].pferdG.ident)
  83.         {
  84.             activePiece = &setArray[turn].pferdG;
  85.         }
  86.         else
  87.         {
  88.             return -1;
  89.         }
  90.         if (endPos.row != -1)
  91.         {
  92.             *activePiece = movePferd(*activePiece);
  93.             activePiece->destPos = endPos;
  94.         }
  95.     }
  96.     else if ((posIdent / 10) == (setArray[turn].laeuferC.ident / 10))
  97.     {
  98.         if (posIdent == setArray[turn].laeuferC.ident)
  99.         {
  100.             activePiece = &setArray[turn].laeuferC;
  101.         }
  102.         else if (posIdent == setArray[turn].laeuferF.ident)
  103.         {
  104.             activePiece = &setArray[turn].laeuferF;
  105.         }
  106.         else
  107.         {
  108.             return -1;
  109.         }
  110.         if (endPos.row != -1)
  111.         {
  112.             *activePiece = moveLaeufer(*activePiece);
  113.             activePiece->destPos = endPos;
  114.         }
  115.     }
  116.     else if ((posIdent / 10) == (setArray[turn].koenig.ident / 10))
  117.     {
  118.         activePiece = &setArray[turn].turmA;
  119.         if (endPos.row != -1)
  120.         {
  121.             *activePiece = moveKoenig(*activePiece);
  122.             activePiece->destPos = endPos;
  123.         }
  124.     }
  125.     else if ((posIdent / 10) == (setArray[turn].dame.ident / 10))
  126.     {
  127.         activePiece = &setArray[turn].dame;
  128.         if (endPos.row != -1)
  129.         {
  130.             *activePiece = moveDame(*activePiece);
  131.             activePiece->destPos = endPos;
  132.         }
  133.     }
  134.     else
  135.     {
  136.         // Es gab einen Fehler
  137.         return -1;
  138.     }
  139.     return 1;
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement