예제 #1
0
        public void Init()
        {
            map          = new Shape[MAP_HEIGHT, MAP_WIDTH];
            score        = 0;
            linesRemoved = 0;
            currentShape = ShapeFactory.GenerateShape(3, 0);
            nextShape    = ShapeFactory.GenerateShape(3, 0);
            SetInterval(400);
            label1.Text = "" + score;
            label2.Text = "" + linesRemoved;

            gameTimer.Interval = Interval;
            gameTimer.Tick    += new EventHandler(Update);
            gameTimer.Start();

            typeof(Panel).InvokeMember("DoubleBuffered", BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic, null, gamePanel, new object[] { true });
            typeof(Panel).InvokeMember("DoubleBuffered", BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic, null, nextFigurePanel, new object[] { true });

            Invalidate();
        }
예제 #2
0
 private void NextShpae()
 {
     currentShape = nextShape;
     nextShape    = ShapeFactory.GenerateShape(3, 0);
 }