void Search() { chessmanManager.hidePointer(); int x = (int)ChessmanManager.chessman[ChessmanId]._x; //棋子位置x x = x == 0 ? 0 : x / 3; //换算成棋盘坐标 int z = (int)ChessmanManager.chessman[ChessmanId]._z; z = z == 0 ? 0 : z / 3; switch (ChessmanManager.chessman[ChessmanId]._type) { case ChessmanManager.Chessman.TYPE.KING: ChessMoveGenerator.Gen_KingMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.GUARD: ChessMoveGenerator.Gen_GuardMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.ELEPHANT: ChessMoveGenerator.Gen_ElephantMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.HORSE: ChessMoveGenerator.Gen_HorseMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.ROOK: ChessMoveGenerator.Gen_RookMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.CANNON: ChessMoveGenerator.Gen_CannonMove(GlobalConst.Instance.ChessBoard, x, z, 100); break; case ChessmanManager.Chessman.TYPE.PAWN: if (isRed) { ChessMoveGenerator.Gen_RPawnMove(GlobalConst.Instance.ChessBoard, x, z, 100); } else { ChessMoveGenerator.Gen_BPawnMove(GlobalConst.Instance.ChessBoard, x, z, 100); } break; } }
/// <summary> /// 离线模式 /// </summary> public void OfflineModeAct(int nPly) { HidePath(); chessManManager.hidePointer(); _isRedTurn = true; PhotonNetwork.offlineMode = true; nFlag = 0; PlayMusic(welcomMusic); AI.OnNewGame(1, nPly); chessManManager.ChessmanInit(); LocalGameStatusText.text = "开局!"; RemoteGameStatusText.text = "开局!"; localPlayerType = ChessPlayerType.Red; LocalGameStatusText.text = "您是红方棋手……"; if (PlayerPrefs.HasKey("PlayerName")) { this.LocalPlayerNameText.text = PlayerPrefs.GetString("PlayerName") + ":红方"; } RemotePlayerNameText.text = "AI:黑方"; UpdatePlayerScoreTexts(); this.StartTurn(); }