예제 #1
0
        private void CBoard2_MouseClick(object sender, MouseEventArgs e)
        {
            if (_GameState)
            {
                if (e.Button == MouseButtons.Left)
                {
                    for (int x = 0; x < 5; x++)
                    {
                        if (e.X > x * Case_x)
                        {
                            _Mouse_Position.X = x; //convertir la position de la souris en position de damier
                        }
                    }
                    for (int y = 0; y < 5; y++)
                    {
                        if (e.Y > y * Case_y)
                        {
                            _Mouse_Position.Y = y;//convertir la position de la souris en position de damier
                        }
                    }
                    int Piece_Type = m.Return_information(_Mouse_Position.X, _Mouse_Position.Y); //retourner le type selectioné.

                    if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) != 0)         // si rien est choisi la position départ n'est pas affecté
                    {
                        _Mouse_Position_Depart.X = _Mouse_Position.X;
                        _Mouse_Position_Depart.Y = _Mouse_Position.Y;
                        _highlight = true;
                    }
                    if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) == 0) // si la position d'arrivé est sur la case null, affecté à la variable destiation.
                    {
                        _Mouse_Position_Select.X = _Mouse_Position.X;
                        _Mouse_Position_Select.Y = _Mouse_Position.Y;
                        _highlight = false;
                        move(m.Return_information(_Mouse_Position_Depart.X, _Mouse_Position_Depart.Y)); // cette fonction reçoit la type de pièce avec sa position de départ effectue le mouvement
                        if (m.Game_state() == 2)
                        {
                            MessageBox.Show("Black Win !!!!, Game Over");
                            _GameState = false;
                        }
                        if (m.Game_state() == 3)
                        {
                            MessageBox.Show("White Win !!!!, Game Over ");
                            _GameState = false;
                        }
                    }
                    draw();
                }
            }
        }
예제 #2
0
        private void CBoardSolo_MouseClick(object sender, MouseEventArgs e)
        {
            if (_GameState)
            {
                if (e.Button == MouseButtons.Left)
                {
                    for (int x = 0; x < 5; x++)
                    {
                        if (e.X > x * Case_x)
                        {
                            _Mouse_Position.X = x;
                        }
                    }
                    for (int y = 0; y < 5; y++)
                    {
                        if (e.Y > y * Case_y)
                        {
                            _Mouse_Position.Y = y;
                        }
                    }
                    int Piece_Type = m.Return_information(_Mouse_Position.X, _Mouse_Position.Y);
                    if (_AI_White)
                    {
                        if (!_WhiteTurn)
                        {
                            if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) != 0)
                            {
                                _Mouse_Position_Depart.X = _Mouse_Position.X;
                                _Mouse_Position_Depart.Y = _Mouse_Position.Y;
                                _highlight = true;
                            }
                            if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) == 0)
                            {
                                _Mouse_Position_Select.X = _Mouse_Position.X;
                                _Mouse_Position_Select.Y = _Mouse_Position.Y;
                                _highlight = false;
                                Human_Move(m.Return_information(_Mouse_Position_Depart.X, _Mouse_Position_Depart.Y));
                            }
                        }
                        if (_WhiteTurn)
                        {
                            AI_Move();
                        }
                    }

                    if (!_AI_White)
                    {
                        if (_WhiteTurn)
                        {
                            if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) != 0)
                            {
                                _Mouse_Position_Depart.X = _Mouse_Position.X;
                                _Mouse_Position_Depart.Y = _Mouse_Position.Y;
                                _highlight = true;
                            }
                            if (m.Return_information(_Mouse_Position.X, _Mouse_Position.Y) == 0)
                            {
                                _Mouse_Position_Select.X = _Mouse_Position.X;
                                _Mouse_Position_Select.Y = _Mouse_Position.Y;
                                _highlight = false;
                                Human_Move(m.Return_information(_Mouse_Position_Depart.X, _Mouse_Position_Depart.Y));
                            }
                        }
                        if (!_WhiteTurn)
                        {
                            AI_Move();
                        }
                    }

                    if (m.Game_state() == 2)
                    {
                        MessageBox.Show("Black Win !!!!, Game Over");
                        _GameState = false;
                    }
                    if (m.Game_state() == 3)
                    {
                        MessageBox.Show("White Win !!!!, Game Over ");
                        _GameState = false;
                    }
                    draw();
                }
            }
        }