Exemplo n.º 1
0
        public void LoadBorad()
        {
            ChessType none = ChessType.None;
            ChessType blac = ChessType.Black;
            ChessType whit = ChessType.White;

            if (GameDef.board_cell_length != 15)
            {
                Console.WriteLine("cannot Load board, because not 15X15 Board");
                return;
            }


            ChessType[,] board = new ChessType[15, 15]
            {
                // 0     1     2     3     4     5     6     7     8     9     10    11    12    13    14
                { none, none, none, none, none, none, none, none, none, none, none, none, none, none, none },               //0
                { none, none, none, none, none, none, none, none, none, none, none, none, none, none, none },               //1
                { none, none, none, none, none, blac, none, none, none, none, none, none, none, none, none },               //2
                { none, none, none, none, none, whit, none, none, none, none, none, none, none, none, none },               //3
                { none, none, none, whit, blac, whit, none, none, none, none, whit, none, none, none, none },               //4
                { none, none, none, blac, blac, whit, blac, blac, none, blac, blac, none, none, none, none },               //5
                { none, none, none, blac, whit, whit, whit, whit, blac, none, none, none, none, none, none },               //6
                { none, none, blac, blac, whit, blac, blac, blac, whit, none, none, none, none, none, none },               //7
                { none, blac, none, blac, whit, whit, whit, whit, blac, none, none, none, none, none, none },               //8
                { whit, blac, whit, whit, whit, blac, none, none, none, none, none, none, none, none, none },               //9
                { none, none, whit, whit, blac, blac, none, none, none, none, none, none, none, none, none },               //10
                { none, none, whit, none, none, none, none, none, none, none, none, none, none, none, none },               //11
                { none, blac, none, none, none, none, none, none, none, none, none, none, none, none, none },               //12
                { none, none, none, none, none, none, none, none, none, none, none, none, none, none, none },               //13
                { none, none, none, none, none, none, none, none, none, none, none, none, none, none, none },               //14
            };

            int playedCount = 0;

            for (int y = 0; y < 15; ++y)
            {
                for (int x = 0; x < 15; ++x)
                {
                    if (board[y, x] != ChessType.None)
                    {
                        playedCount += 1;

                        Model.PutChessToBoard(x, y, board[y, x]);

                        Chess myChess = ChessFactory.CreateChess(board[y, x]);
                        myChess.SetPositionByCoordinate(x, y);
                        View.PutChessOnView(myChess);
                    }
                }
            }

            Player.TotalTurn = playedCount;

            OrderNum        = playedCount % 2 == 0 ? 0 : 2;
            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 2
0
        public void PreviousPlayerByJudgeContainAI()
        {
            OrderNum -= 3;
            if (OrderNum < 0)
            {
                OrderNum = RoleOrderMap.Count - 2;
            }

            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 3
0
        public void PreviousPlayerByJudge()
        {
            OrderNum -= 1;
            if (OrderNum < 0)
            {
                throw new Exception("error OrderNum < 0");
            }

            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 4
0
        public void PreviousPlayer()
        {
            OrderNum -= 2;
            if (OrderNum < 0)
            {
                OrderNum = RoleOrderMap.Count - 2;
            }

            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 5
0
        public void RenewGame()
        {
            Model.init();

            View.InitViewBoard();

            Player.InitTotalTurn();

            OrderNum        = 0;
            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 6
0
        public void ChangeComputerToPlay()
        {
            GameDef.PlayerType changeAIType = GameDef.PlayerType.HardAI;

            RoleOrderMap[OrderNum] = PlayerFactory.CreatePlayer(changeAIType, View, Model, this, CurrentTurnRole.GetChessType());

            int judgeOeder = OrderNum + 1;

            RoleOrderMap[judgeOeder].AppendName($" + {changeAIType.ToString()}");

            CurrentTurnRole = RoleOrderMap[OrderNum];
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 7
0
        public void ChangeNextRole()
        {
            OrderNum++;

            if (OrderNum >= RoleOrderMap.Count)
            {
                OrderNum = 0;
            }

            CurrentTurnRole = RoleOrderMap[OrderNum];
            //Thread.Sleep(200);
            CurrentTurnRole.onMyTurn();
        }
Exemplo n.º 8
0
 public void Start()
 {
     CurrentTurnRole.onMyTurn();
 }