当前位置: 首页>>代码示例>>C#>>正文


C# Move.gettoY方法代码示例

本文整理汇总了C#中Move.gettoY方法的典型用法代码示例。如果您正苦于以下问题:C# Move.gettoY方法的具体用法?C# Move.gettoY怎么用?C# Move.gettoY使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Move的用法示例。


在下文中一共展示了Move.gettoY方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: isValidMove

        //Kollar om ett drag är tillåtet för en springare
        public override Boolean isValidMove(Move move)
        {
            if(Math.Abs(move.gettoX() - move.getfromX()) == Math.Abs(move.gettoY() - move.getfromY()))
            {
                return true;
            }else if (move.gettoX() - move.getfromX() == move.getfromY() - move.gettoY())
            {
                return true;
            }

            return false;
        }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:13,代码来源:Runner.cs

示例2: isValidMove

 //Kollar om draget är godkänt för en häst
 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)
         {
             return true;
         }
     }
     if (move.getfromX() - move.gettoX() == 2 || move.getfromX() - move.gettoX() == -2)
     {
         if (move.getfromY() - move.gettoY() == 1 || move.getfromY() - move.gettoY() == -1)
         {
             return true;
         }
     }
     return false;
 }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:19,代码来源:Horse.cs

示例3: isValidMove

 //Kollar om ett drag är godkänt för en kung
 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()))
     {
         return true;
     }
     else if (move.gettoY() - move.getfromY() == -1 && (move.gettoX() - move.getfromX() == 1 ||
          move.gettoX() - move.getfromX() == -1 || move.gettoX() == move.getfromX()))
     {
         return true;
     }
     else if ((move.gettoX() - move.getfromX() == 1 || move.gettoX() - move.getfromX() == -1) &&
         (move.gettoY() - move.getfromY() == 0 ))
     {
         return true;
     }
     else
     {
         return false;
     }
 }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:23,代码来源:King.cs

示例4: checkDiagonal

        //Kollar om ett diagonalt drag är godkänt
        public bool checkDiagonal(Move move, ChessPiece[,] currentBoard)
        {
            if (move.getfromX() < move.gettoX() && move.getfromY() < move.gettoY()) //x och y ökar
            {
                int y = move.getfromY()  + 1;
                for (int x = move.getfromX() + 1; x <= move.gettoX(); x++)
                {
                    if (y < 8)
                    {
                        if (currentBoard[x, y] != null) //om någon pjäs står i vägen
                        {
                            if (x == move.gettoX() && y == move.gettoY()) //pjäsen har nått sitt mål
                            {
                                if (board.squareStatus(move, currentBoard) == 2)//Pjäsen har eliminerat en motståndare
                                {
                                    return true;
                                }
                            }
                            return false;
                        }
                    }
                    y++;
                }
                return true;
            }

            if (move.getfromX() > move.gettoX() && move.getfromY() > move.gettoY()) //x och y minskar
            {
                int y = move.getfromY() - 1;
                for (int x = move.getfromX() - 1; x >= move.gettoX(); x--)
                {
                    if (y < 8)
                    {
                        if (currentBoard[x, y] != null)//om någon pjäs står i vägen
                        {
                            if (x == move.gettoX() && y == move.gettoY()) //pjäsen har nått sitt mål
                            {
                                if (board.squareStatus(move, currentBoard) == 2)//Pjäsen har eliminerat en motståndare
                                {
                                    return true;
                                }
                            }
                            return false;
                        }
                    }
                    y--;
                }
                return true;
            }

            if (move.getfromX() < move.gettoX() && move.getfromY() > move.gettoY()) //x ökar, y minskar
            {
                int y = move.getfromY() - 1;
                for (int x = move.getfromX() + 1; x <= move.gettoX(); x++)
                {
                    if (y < 8)
                    {
                        if (currentBoard[x, y] != null)//om någon pjäs står i vägen
                        {
                            if (x == move.gettoX() && y == move.gettoY()) //pjäsen har nått sitt mål
                            {
                                if (board.squareStatus(move, currentBoard) == 2)//Pjäsen har eliminerat en motståndare
                                {
                                    return true;
                                }
                            }
                            return false;
                        }
                    }
                    y--;
                }
                return true;
            }

            if (move.getfromX() > move.gettoX() && move.getfromY() < move.gettoY()) //x minskar, y ökar, alltid här
            {
                int y = move.getfromY() + 1;

                for (int x = move.getfromX() - 1; x >= move.gettoX(); x--)
                {

                    if (y < 8)
                    {
                        if (currentBoard[x, y] != null)//om någon pjäs står i vägen
                        {
                            if (x == move.gettoX() && y == move.gettoY()) //pjäsen har nått sitt mål
                            {
                                if (board.squareStatus(move, currentBoard) == 2)//Pjäsen har eliminerat en motståndare
                                {
                                    return true;
                                }
                            }
                            return false;
                        }
                    }

                    y++;
                }
                return true;
//.........这里部分代码省略.........
开发者ID:nilselveros,项目名称:ChessProject,代码行数:101,代码来源:RulesEngine.cs

示例5: isCheck

        //kollar om kungen står i check
        public bool isCheck(Move move, String gamestatus)
        {
            ChessPiece[,] temp = board.getCopy();//kopierar bordet

            //Uppdatera temporärt bord, som det kommer se ut om movet skulle gå igenom:
            temp[move.gettoX(), move.gettoY()] = temp[move.getfromX(), move.getfromY()];
            temp[move.getfromX(), move.getfromY()] = null;

            //Hämta kungens position
            ChessPiece king = board.getKingFromBoard(temp, gamestatus);

            //loopa över nya brädet:
            for (int x = 0; x <= 7; x++)
            {
                for (int y = 0; y <= 7; y++)
                {
                    //om vi hittar en pjäs:
                    if (temp[x, y] != null)
                    {
                        ChessPiece temp2 = temp[x, y];
                        //Om det är motståndarens pjäs
                        if (temp2.Color != gamestatus)
                        {
                            Move checkMove = new Move(x, y, king.posX, king.posY);//move tar motståndarens position mot spelarens egen kung
                            if (temp2.isValidMove(checkMove) && isLeagalMove(checkMove, temp))//om det går igenom har man satt sin egen kung i shack
                            {
                                return true;
                            }

                        }

                    }
                }

            }
            return false;
        }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:38,代码来源:RulesEngine.cs

示例6: checkVertical

        //Kollar om ett vertikalt drag är tillåtet
        public bool checkVertical(Move move, ChessPiece[,] currentBoard)
        {
            //kolla om det går att hoppa över skaer
            if (move.getfromY() < move.gettoY())
            {
                for (int y = move.getfromY() + 1; y <= move.gettoY(); y++)
                {
                    if (currentBoard[move.getfromX(), y] != null)
                    {
                        if (y == move.gettoY() && board.squareStatus(move, currentBoard) != 1)
                        {
                            return true;
                        }
                        return false;
                    }

                }
                return true;
            }

            else if (move.getfromY() > move.gettoY())
            {
                for (int y = move.getfromY() - 1; y >= move.gettoY(); y--)
                {
                    if (currentBoard[move.getfromX(), y] != null)
                    {
                        if (y == move.gettoY() && (board.squareStatus(move, currentBoard) != 1))
                        {
                            return true;
                        }
                        return false;
                    }
                }
                return true;
            }
            return false;
        }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:38,代码来源:RulesEngine.cs

示例7: updateTable

 //Updaterar 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();
 }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:8,代码来源:ChessBoard.cs

示例8: squareStatus

        //1. Egen pjäs
        //2. Motståndares pjäs
        //3. Tom ruta
        public int squareStatus(Move move, ChessPiece[,] currentBoard)
        {
            if (currentBoard[move.gettoX(), move.gettoY()] != null)
            {
                ChessPiece p1 = currentBoard[move.getfromX(), move.getfromY()];
                ChessPiece p2 = currentBoard[move.gettoX(), move.gettoY()];

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

            return 3;
        }
开发者ID:nilselveros,项目名称:ChessProject,代码行数:22,代码来源:ChessBoard.cs


注:本文中的Move.gettoY方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。