Пример #1
0
        /// <summary>
        /// 加载页面
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TetrisControl_Load(object sender, EventArgs e)
        {
            //后台事件
            bgWorker = new BackgroundWorker();
            bgWorker.WorkerSupportsCancellation = true;
            bgWorker.WorkerReportsProgress      = true;
            bgWorker.DoWork             += BgWorker_DoWork;
            bgWorker.ProgressChanged    += BgWorker_ProgressChanged;
            bgWorker.RunWorkerCompleted += BgWorker_RunWorkerCompleted;
            //填充信息
            for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    Label lbl = new Label();
                    lbl.Name      = string.Format("lblr{0}c{1}", i.ToString(), j.ToString());
                    lbl.Margin    = new Padding(1);
                    lbl.Padding   = new Padding(1);
                    lbl.BackColor = SystemColors.Control;
                    //lbl.BorderStyle = BorderStyle.FixedSingle;
                    lbl.Width  = 15;
                    lbl.Height = 15;
                    lbl.Dock   = DockStyle.Fill;
                    tbControl.Controls.Add(lbl, j, i);
                }
            }

            //容器
            if (tcontainer == null)
            {
                tcontainer = new TetrisContainer();
                tcontainer.onPartialChanged += new Action <Point, Point[], TetrisDirection>(container_PartialChanged);
                tcontainer.onFullChanged    += new Action <int[, ]>(container_FullChanged);
                tcontainer.onCompleted      += new Action(container_Completed);
            }
        }
Пример #2
0
 /// <summary>
 /// 移动元素
 /// </summary>
 /// <param name="container"></param>
 /// <param name="element"></param>
 /// <param name="direction"></param>
 /// <returns></returns>
 public static TetrisElement move(TetrisContainer container, TetrisElement element, TetrisDirection direction)
 {
     return(container.change(element, direction));
 }