//检测游戏状态
 public void Check()
 {
     if (!isRuning)
     {
         return;
     }
     this.gameObject.GetComponent <UserGUI>().gameMessage = "";
     //判断是否已经胜利
     if (rightLandRoleController.GetLandModel().priestNum == 3)
     {
         this.gameObject.GetComponent <UserGUI>().gameMessage = "You Win!";
         isRuning = false;
     }
     else
     {
         /*判断是否已经失败
          * 若任意一侧,牧师数量不为0且牧师数量少于恶魔数量,则游戏失败
          */
         int leftPriestNum, leftDevilNum, rightPriestNum, rightDevilNum;
         leftPriestNum = leftLandRoleController.GetLandModel().priestNum + (boatRoleController.GetBoatModel().isRight ? 0 : boatRoleController.GetBoatModel().priestNum);
         leftDevilNum  = leftLandRoleController.GetLandModel().devilNum + (boatRoleController.GetBoatModel().isRight ? 0 : boatRoleController.GetBoatModel().devilNum);
         if (leftPriestNum != 0 && leftPriestNum < leftDevilNum)
         {
             this.gameObject.GetComponent <UserGUI>().gameMessage = "Game Over!";
             isRuning = false;
         }
         rightPriestNum = rightLandRoleController.GetLandModel().priestNum + (boatRoleController.GetBoatModel().isRight ? boatRoleController.GetBoatModel().priestNum : 0);
         rightDevilNum  = rightLandRoleController.GetLandModel().devilNum + (boatRoleController.GetBoatModel().isRight ? boatRoleController.GetBoatModel().devilNum : 0);
         if (rightPriestNum != 0 && rightPriestNum < rightDevilNum)
         {
             this.gameObject.GetComponent <UserGUI>().gameMessage = "Game Over!";
             isRuning = false;
         }
     }
 }
    //获得帮助
    public void Tips()
    {
        PathNode node = pathController.Search(new int[] { boatController.GetBoatModel().priestNum, boatController.GetBoatModel().devilNum, leftLandController.GetLandModel().priestNum,
                                                          rightLandController.GetLandModel().priestNum, leftLandController.GetLandModel().devilNum, rightLandController.GetLandModel().devilNum, boatController.GetBoatModel().isRight?1:0 });

        if (node.GetState() == 0)
        {
            PathNode nNode = node.GetNext();
            TransferState(node, nNode);
        }
    }