Ejemplo n.º 1
0
        /// <summary>
        /// 初始化布局
        /// </summary>
        /// <param name="r"></param>
        /// <param name="c"></param>
        public void InitLayout(int r, int c)
        {
            Layout         = new int[Row, Col];
            GameState      = FiveGameState.Init;
            MaxPlayerCount = 2;

            int leftIndexWidth = Pixel;

            StartX = leftIndexWidth;
            StartY = TitleHeight + leftIndexWidth;

            int width = 0, height = 0;

            width  = leftIndexWidth * 2 + Pixel * Col;
            height = TitleHeight + leftIndexWidth * 2 + Pixel * Row;
            if (LayoutMap != null)
            {
                this.Draw.Dispose();
                LayoutMap.Dispose();
            }
            //创建图片
            LayoutMap = new Bitmap(width, height);
            Draw      = Graphics.FromImage(LayoutMap);

            SolidBrush black = new SolidBrush(Color.Black);
            Pen        p     = new Pen(black, 2);

            //背景
            Draw.FillRectangle(new SolidBrush(Color.White), new Rectangle(0, 0, width, height));

            for (int i = 0; i <= Row; i++)
            {
                int posHei = StartY + i * Pixel;
                if (i != Row)
                {
                    Draw.DrawString((i + 1).ToString(), new Font(FontFamily.GenericMonospace, 10), black, new PointF(0, posHei));
                    Draw.DrawString((i + 1).ToString(), new Font(FontFamily.GenericMonospace, 10), black, new PointF(LayoutMap.Width - leftIndexWidth, posHei));
                }
                Draw.DrawLine(p, new Point(StartX, posHei), new Point(LayoutMap.Width - leftIndexWidth, posHei));
            }

            for (int i = 0; i <= Col; i++)
            {
                int posWid = StartX + i * Pixel;
                if (i != Col)
                {
                    Draw.DrawString((i + 1).ToString(), new Font(FontFamily.GenericMonospace, 10), black, new PointF(posWid, TitleHeight));
                    Draw.DrawString((i + 1).ToString(), new Font(FontFamily.GenericMonospace, 10), black, new PointF(posWid, LayoutMap.Height - leftIndexWidth));
                }
                Draw.DrawLine(p, new Point(posWid, StartY), new Point(posWid, LayoutMap.Height - Pixel));
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 释放资源
 /// </summary>
 public override void Dispose()
 {
     Draw.Dispose();
     LayoutMap.Dispose();
 }