예제 #1
0
        public void Start(Field Field, GameEngine Engine)
        {
            int  indexObject = rnd.Next(0, objects.Count);
            bool gameState   = true;

            while (gameState)
            {
                //foreach (var item in gameObject)
                //{
                objects[indexObject].Update(Field, Engine);
                gameState = objects[indexObject].endGame;
                //}

                Field.ClearLine();
                graphics.FillRectangle(0xFFFFFFFF, 0, 0, graphics.ClientWidth, graphics.ClientHeight);

                for (int i = 0; i < Field.Rectangles.GetLength(0); i++)
                {
                    for (int j = 0; j < Field.Rectangles.GetLength(1); j++)
                    {
                        graphics.FillRectangle((uint)Field.Rectangles[i, j].Color, Field.Rectangles[i, j].x, Field.Rectangles[i, j].y, Field.size, Field.size);
                    }
                }

                //foreach (var item in gameObject)
                //{
                objects[indexObject].Render(graphics);
                //}

                graphics.FlipPages();
                Thread.Sleep(25);
            }
        }
예제 #2
0
 static void Down(object obj)
 {
     if (field.TestBottoming(FiguresArray[FigureNumber]))
     {
         field.FillFieldWithBlocks(FiguresArray[FigureNumber]);
         field.ClearLine();
         ResetFigures();
         FigureNumber = rnd.Next(0, FiguresArray.Length);
         field.PasteFigureInField(FiguresArray[FigureNumber]);
     }
     else
     {
         field.DeleteFigureFromField(FiguresArray[FigureNumber]);
         FiguresArray[FigureNumber].Down();
         field.PasteFigureInField(FiguresArray[FigureNumber]);
     }
 }