コード例 #1
0
ファイル: King.cs プロジェクト: nilselveros/ChessProject
 public override Boolean isValidMove(Move move)
 {
     if (move.gettoY() - move.getfromY() == 1 && (move.gettoX() - move.getfromX() == 1 ||
           move.gettoX() - move.getfromX() == -1 || move.gettoX() == move.getfromX()))
     {
         System.Console.WriteLine("1kung Draget är tillåtet!");
         return true;
     }
     else if (move.gettoY() - move.getfromY() == -1 && (move.gettoX() - move.getfromX() == 1 ||
          move.gettoX() - move.getfromX() == -1 || move.gettoX() == move.getfromX()))
     {
         System.Console.WriteLine("2kung Draget är tillåtet!");
         return true;
     }
     else if ((move.gettoX() - move.getfromX() == 1 || move.gettoX() - move.getfromX() == -1) &&
         (move.gettoY() - move.getfromY() == 1 || move.gettoY() - move.getfromY() == -1))
     {
         System.Console.WriteLine("3kung Draget är tillåtet!");
         return true;
     }
     else
     {
         System.Console.WriteLine("4kung Draget är inte tillåtet!");
         return false;
     }
 }
コード例 #2
0
ファイル: Runner.cs プロジェクト: nilselveros/ChessProject
        public override Boolean isValidMove(Move move)
        {
            if(move.gettoX() - move.getfromX() == move.gettoY() - move.getfromY())
            {

                System.Console.WriteLine("Springare draget är tillåtet");
                return true;
            }
            else if(move.gettoX() + move.getfromX() == move.gettoY() + move.getfromY())
            {

                System.Console.WriteLine("Springare draget är tillåtet");
                return true;
            }

            System.Console.WriteLine("springare draget är inte tillåtet");
            return false;
        }
コード例 #3
0
ファイル: Queen.cs プロジェクト: nilselveros/ChessProject
        public override Boolean isValidMove(Move move)
        {
            if (move.gettoX() - move.getfromX() == move.gettoY() - move.getfromY())
            {
                return true;
            }
            else if (move.gettoX() + move.getfromX() == move.gettoY() + move.getfromY())
            {
                return true;
            }
            else if (move.gettoY() == move.getfromY() || move.gettoX() == move.getfromX())
            {
                System.Console.WriteLine("queen draget är tillåtet");
                return true;
            }

            return false;
        }
コード例 #4
0
ファイル: Horse.cs プロジェクト: nilselveros/ChessProject
 public override Boolean isValidMove(Move move)
 {
     if(move.getfromY() - move.gettoY() == 2 || move.getfromY() - move.gettoY() == -2)
     {
         if(move.getfromX() - move.gettoX() == 1 || move.getfromX() - move.gettoX() == -1)
         {
             System.Console.WriteLine("häst Draget är tillåtet!");
             return true;
         }
     }
     if (move.getfromX() - move.gettoX() == 2 || move.getfromX() - move.gettoX() == -2)
     {
         if (move.getfromY() - move.gettoY() == 1 || move.getfromY() - move.gettoY() == -1)
         {
             System.Console.WriteLine("häst Draget är tillåtet!");
             return true;
         }
     }
     System.Console.WriteLine("häst Draget är inte tillåtet!");
     return false;
 }
コード例 #5
0
ファイル: Tower.cs プロジェクト: nilselveros/ChessProject
 public override Boolean isValidMove(Move move)
 {
     if(move.gettoY() == move.getfromY() || move.gettoX() == move.getfromX())
     {
         System.Console.WriteLine("tower draget är tillåtet");
         return true;
     }
     else
     {
         System.Console.WriteLine("tower draget är inte tillåtet");
         return false;
     }
 }
コード例 #6
0
ファイル: Farmer.cs プロジェクト: nilselveros/ChessProject
        public override Boolean isValidMove(Move move)
        {
            //Check if the move is valid for white pieces
            if (player is HumanPlayer)
            {
                if (move.gettoY() - move.getfromY() == 2 && move.gettoX() == move.getfromX() && move.getfromY() == 1)

                if (move.gettoY() - move.getfromY() == 2 && move.gettoX() == move.getfromX()
                    && move.getfromY() == 1)
                {
                    System.Console.WriteLine(" bondeHUMAN Draget är tillåtet!");
                    return true;
                }

                if (move.gettoY() - move.getfromY() == 1 && (move.gettoX() - move.getfromX() == 1 ||
                    (move.gettoX() - move.getfromX() == 1 && move.gettoY() - move.getfromY() == 1) ||
                    (move.gettoX() == move.getfromX() && move.gettoY() - move.getfromY() == 1)))
                {
                    System.Console.WriteLine(" bondeHUMAN Draget är tillåtet!");
                    return true;
                }
            }

            //Check if the move is valid for black pieces
            if (player is CPUPlayer)
            {
                if (move.gettoY() - move.getfromY() == -2 && move.gettoX() == move.getfromX()
                    && move.getfromY() == 6)
                {
                    System.Console.WriteLine("1bondeCPU Draget är tillåtet!");
                    return true;
                }

                if ((move.gettoY() - move.getfromY() == -1 && move.gettoX() - move.getfromX() == 1) ||
                    (move.gettoX() - move.getfromX() == -1 && (move.gettoY() - move.getfromY() == -1) ||
                    (move.gettoX() == move.getfromX() && move.gettoY() - move.getfromY() == -1)))
                {
                    System.Console.WriteLine("2bondeCPU Draget är tillåtet!");
                    return true;
                }
            }

            System.Console.WriteLine("3bondeCPU Draget är inte tillåtet!");
            return false;
        }
コード例 #7
0
 //Updaterar den brädet (arrayen) efter att ett drag genomförts
 public void updateTable(Move move)
 {
     board[move.gettoX(), move.gettoY()] = board[move.getfromX(), move.getfromY()];
     board[move.getfromX(), move.getfromY()] = null;
     board[move.gettoX(), move.gettoY()].posX = move.gettoX();
     board[move.gettoX(), move.gettoY()].posY = move.gettoY();
 }
コード例 #8
0
        //1. Egen pjäs
        //2. Motståndares pjäs
        //3. Tom ruta
        public int squareStatus(Move move)
        {
            if (board[move.gettoX(), move.gettoY()] != null)
            {
                ChessPiece p1 = board[move.getfromX(), move.getfromY()];
                ChessPiece p2 = board[move.gettoX(), move.gettoY()];

                if (p1.getPlayer == p2.getPlayer)
                {
                    return 1;
                }
                else
                {
                    return 2;
                }
            }

            return 3;
        }
コード例 #9
0
 public string colourOfPiece(Move move)
 {
     return board[move.getfromX(), move.getfromY()].getPlayer.getColour;
 }