Example #1
0
        private static void Init()
        {
            #region console
            Console.ForegroundColor = ConsoleColor.White;
            #endregion // console

            #region game state

            isOver         = false;
            isDrawRequired = true;
            rotateLeft     = false;
            rotateRight    = false;

            #endregion // game state

            #region time
            timeToMove   = 0;
            estimatedFps = 60;
            timePerFrame = 1.0 / estimatedFps;
            timeElapsedSinceLastStatisticsUpdate = 0.0;
            timeToUpdateStatistics   = 0.7;
            timeElapsedSinceLastMove = 0;

            #endregion // time

            #region Game field initialization
            do
            {
                Console.WriteLine("Field Width: ");
            } while (!int.TryParse(Console.ReadLine(), out cupWidth));

            do
            {
                Console.WriteLine("Field Height: ");
            } while (!int.TryParse(Console.ReadLine(), out cupHeight));

            do
            {
                Console.WriteLine("Fall Speed (squares per minute): ");
            } while (!int.TryParse(Console.ReadLine(), out fallSpeed));

            timeToMove = 60.0 / fallSpeed;

            leftMarginWidth = 20;
            field           = new Field(cupWidth, cupHeight, leftMarginWidth);
            #endregion

            #region layout

            Console.CursorVisible = false;
            nextFigureX           = field.Width + 2 + 5;
            nextFigureY           = 1;

            #endregion // layout

            nextFigure          = FigureGenerator.GetRandomFigure(nextFigureX, nextFigureY, leftMarginWidth);
            nextFigure.Stopped += FigureStopped;
            SwapFigures();
        }
Example #2
0
        private static void SwapFigures()
        {
            currentFigure   = nextFigure;
            currentFigure.X = field.Width / 2;
            currentFigure.Y = 0;

            nextFigure          = FigureGenerator.GetRandomFigure(nextFigureX, nextFigureY, leftMarginWidth);
            nextFigure.Stopped += FigureStopped;
        }