现在的位置: 首页 > 综合 > 正文

北大青鸟 中国象棋 实习项目 (项目源代码级说明十)

2014年02月17日 ⁄ 综合 ⁄ 共 2449字 ⁄ 字号 评论关闭
棋盘:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace chess
{
    /// <summary>
    /// 棋盘
    /// </summary>
    class chessPanel : Panel
    {
        /// <summary>
        /// 重写OnPaint方法,画棋盘
        /// </summary>
        /// <param name="e"></param>
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            Graphics g = e.Graphics;
            Point begin = new Point(50, 50);
            Point end = new Point(450, 50);
            //上一部分棋盘
            //画横
            for (int i = 0; i < 5; i++)
            {
                g.DrawLine(new Pen(Brushes.Red), begin, end);
                begin.Offset(0, 50);
                end.Offset(0, 50);

            }
            begin = new Point(50, 50);
            end = new Point(50, 250);
            //画竖
            for (int i = 0; i < 9; i++)
            {
                g.DrawLine(new Pen(Brushes.Red), begin, end);
                begin.Offset(50, 0);
                end.Offset(50, 0);
            }
            //画河界
            begin = new Point(50, 250);
            end = new Point(50, 300);
            g.DrawLine(new Pen(Brushes.Red), begin, end);
            g.DrawString("楚河", new Font("宋体", 16, FontStyle.Bold), new SolidBrush(Color.Blue), 100, 270);
            g.DrawString("汉界", new Font("宋体", 16, FontStyle.Bold), new SolidBrush(Color.Blue), 350, 270);
            begin = new Point(450, 250);
            end = new Point(450, 300);
            g.DrawLine(new Pen(Brushes.Red), begin, end);

            //下一部分棋盘
            begin = new Point(50, 300);
            end = new Point(450, 300);

            for (int i = 0; i < 5; i++)
            {
                g.DrawLine(new Pen(Brushes.Red), begin, end);
                begin.Offset(0, 50);
                end.Offset(0, 50);

            }
            begin = new Point(50, 300);
            end = new Point(50, 500);
            //画竖
            for (int i = 0; i < 9; i++)
            {
                g.DrawLine(new Pen(Brushes.Red), begin, end);
                begin.Offset(50, 0);
                end.Offset(50, 0);
            }
            //画上斜线
            begin = new Point(200, 50);
            end = new Point(300, 150);
            g.DrawLine(new Pen(Brushes.Red), begin, end);
            begin = new Point(200, 150);
            end = new Point(300, 50);
            g.DrawLine(new Pen(Brushes.Red), begin, end);
            //画下斜线
            begin = new Point(200, 400);
            end = new Point(300, 500);
            g.DrawLine(new Pen(Brushes.Red), begin, end);
            begin = new Point(200, 500);
            end = new Point(300, 400);
            g.DrawLine(new Pen(Brushes.Red), begin, end);

        }
    }
}

抱歉!评论已关闭.