Example #1
0
        /* Creates a promotion selection form which lists
        the pieces which the player may select for upgrading their high ranked pawn.
        The constructor of the form takes the moving pawn as mvPawn in order
        to determine the colour of the upgraded piece to display and use. */
        public PromotionSelection(chess.Model.Piece mvPawn)
        {
            InitializeComponent();

            PictureBox queen, knight, rook, bishop;
            if (mvPawn.Val == Model.EGamePieces.WhitePawn)
            {
                queen = View.Display.getGuiPiece(Model.EGamePieces.WhiteQueen);
                knight = View.Display.getGuiPiece(Model.EGamePieces.WhiteKnight);
                rook = View.Display.getGuiPiece(Model.EGamePieces.WhiteRook);
                bishop = View.Display.getGuiPiece(Model.EGamePieces.WhiteBishop);
                queen.Tag = Model.EGamePieces.WhiteQueen;
                knight.Tag = Model.EGamePieces.WhiteKnight;
                rook.Tag = Model.EGamePieces.WhiteRook;
                bishop.Tag = Model.EGamePieces.WhiteBishop;

                this.defaultPiece = Model.EGamePieces.WhiteQueen;
            }
            else
            {
                queen = View.Display.getGuiPiece(Model.EGamePieces.BlackQueen);
                knight = View.Display.getGuiPiece(Model.EGamePieces.BlackKnight);
                rook = View.Display.getGuiPiece(Model.EGamePieces.BlackRook);
                bishop = View.Display.getGuiPiece(Model.EGamePieces.BlackBishop);
                queen.Tag = Model.EGamePieces.BlackQueen;
                knight.Tag = Model.EGamePieces.BlackKnight;
                rook.Tag = Model.EGamePieces.BlackRook;
                bishop.Tag = Model.EGamePieces.BlackBishop;

                this.defaultPiece = Model.EGamePieces.BlackQueen;
            }

            // register the click handler to the selection pieces
            queen.Click += promotionPieceSelect_Click;
            knight.Click += promotionPieceSelect_Click;
            rook.Click += promotionPieceSelect_Click;
            bishop.Click += promotionPieceSelect_Click;

            this.panelQueen.Controls.Add(queen);
            this.panelKnight.Controls.Add(knight);
            this.panelRook.Controls.Add(rook);
            this.panelBishop.Controls.Add(bishop);

            this.DialogResult = DialogResult.None;
        }
Example #2
0
 /* Click handler for the promotion selection dialog. This assigns the
 users choice to the SelectedPiece property of the dialog object. This
 property may then be accessed by the evaluator. */
 private void promotionPieceSelect_Click(object sender, EventArgs e)
 {
     PictureBox p = (PictureBox)sender;
     this.selectedPiece = (Model.EGamePieces)p.Tag;
     this.DialogResult = DialogResult.OK;
 }