コード例 #1
0
        private void buildGameBoard()
        {
            int top  = k_BoardTopSize;
            int left = k_BoardBorders;

            Checkers[,] boardMatrix = m_Game.Board.GetBoardMatrix();
            char rowIndex    = 'a';
            char columnIndex = 'A';

            for (int i = 0; i < boardMatrix.GetLength(0); i++)
            {
                for (int j = 0; j < boardMatrix.GetLength(0); j++)
                {
                    BoardButton newButton = new BoardButton(rowIndex, columnIndex);
                    newButton.Top        = top;
                    newButton.Left       = left;
                    newButton.Size       = new Size(k_SquareSize, k_SquareSize);
                    newButton.Click     += new EventHandler(button_Click);
                    r_ButtonMatrix[i, j] = newButton;
                    if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.O)
                    {
                        newButton.BackgroundImage       = Properties.Resources.WhiteSolider;
                        newButton.BackgroundImageLayout = ImageLayout.Stretch;
                        newButton.TagName = "O";
                    }
                    else if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.X)
                    {
                        newButton.BackgroundImage       = Properties.Resources.BlackSolider;
                        newButton.BackgroundImageLayout = ImageLayout.Stretch;
                        newButton.TagName = "X";
                    }
                    else if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.Empty)
                    {
                        newButton.TagName = string.Empty;
                    }

                    this.Controls.Add(newButton);
                    left       += k_SquareSize;
                    columnIndex = (char)(columnIndex + 1);
                }

                left        = k_BoardBorders;
                top        += k_SquareSize;
                columnIndex = 'A';
                rowIndex    = (char)(rowIndex + 1);
            }
        }
コード例 #2
0
        private void button_Click(object sender, EventArgs e)
        {
            BoardButton selectedButton = sender as BoardButton;

            Checkers.eCheckerGroup currentTurn = m_Game.CurrentTurn;
            if (object.ReferenceEquals(selectedButton, m_FirstSelectedButton))
            {
                selectedButton.BackColor = default(Color);
                m_FirstSelectedButton    = null;
            }
            else
            {
                if (currentTurn == Checkers.eCheckerGroup.O)
                {
                    if (m_FirstSelectedButton == null && (selectedButton.TagName == "O" || selectedButton.TagName == "U"))
                    {
                        selectedButton.BackColor = Color.LightBlue;
                        m_FirstSelectedButton    = selectedButton;
                    }
                    else if (m_FirstSelectedButton != null)
                    {
                        string movement = m_FirstSelectedButton.ColumnIndex + string.Empty + m_FirstSelectedButton.RowIndex + ">" + selectedButton.ColumnIndex + selectedButton.RowIndex;
                        tryToPlaySelectedMovment(movement);
                        m_FirstSelectedButton.BackColor = default(Color);
                        m_FirstSelectedButton           = null;
                    }
                }
                else
                {
                    if (m_FirstSelectedButton == null && (selectedButton.TagName == "X" || selectedButton.TagName == "K"))
                    {
                        selectedButton.BackColor = Color.LightBlue;
                        m_FirstSelectedButton    = selectedButton;
                    }
                    else if (m_FirstSelectedButton != null)
                    {
                        string movement = m_FirstSelectedButton.ColumnIndex + string.Empty + m_FirstSelectedButton.RowIndex + ">" + selectedButton.ColumnIndex + selectedButton.RowIndex;
                        tryToPlaySelectedMovment(movement);
                        m_FirstSelectedButton.BackColor = default(Color);
                        m_FirstSelectedButton           = null;
                    }
                }
            }
        }