} // End Main

        private static void Aggiorna()
        {
            while (true) //Update Loop
            {
                tempoCaduta = (int)timerCaduta.ElapsedMilliseconds;
                if (tempoCaduta > rateCaduta)
                {
                    //se il tempo di caduta è maggiore di 300 allora significa che il pezzo sta cadendo caduto
                    tempoCaduta = 0;
                    timerCaduta.Restart();

                    forma.Cade();
                }
                if (caduto == true)
                {
                    forma     = nextForma;
                    nextForma = new Tetramino();
                    forma.Spawn();

                    caduto = false;
                }
                int j;
                for (j = 0; j < 10; j++)
                {
                    if (Grid.gridTetraminiCaduti[0, j] == 1)
                    {
                        return;
                    }
                }

                CheckInput();
                ClearBlock();
            } //end Loop
        }     // End aggiorna
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.UTF8;
            Grid.drawBorder();
            Console.SetCursorPosition(4, 5);
            Console.WriteLine("Premi un tasto");
            Console.SetCursorPosition(6, 6);
            Console.WriteLine("qualunque");

            Console.ReadKey(true);
            Grid.clearGrid();

            // Premuto un tasto parte il gioco con i rispettivi timer
            timer.Start();
            timerCaduta.Start();

            // Scrittura in console di tutte le informazioni di gioco
            Console.SetCursorPosition(25, 0);
            Console.WriteLine("Livello: " + livello);
            Console.SetCursorPosition(25, 1);
            Console.WriteLine("Score: " + score);
            Console.SetCursorPosition(25, 2);
            Console.WriteLine("Linee Completate: " + lineeTot);

            Console.SetCursorPosition(25, 10);
            Console.Write("Controlli:");
            Console.SetCursorPosition(25, 11);
            Console.Write(" - Freccia SX/ DX:       sposta a sx/ dx");
            Console.SetCursorPosition(25, 12);
            Console.Write(" - Freccia Sù:           ruota pezzo");
            Console.SetCursorPosition(25, 13);
            Console.Write(" - Freccia Giù:          aumenta la velocita di caduta");
            Console.SetCursorPosition(25, 14);
            Console.Write(" - Barra Spaziatrice:    fai cadere il pezzo");

            // Si creano i due tetramini
            // tetramino 1 (forma): forma che dovrà scendere
            // tetramino 2 (nextForma): forma che spawnerà dopo che "forma" toccherà la base
            nextForma = new Tetramino();
            forma     = nextForma;
            forma.Spawn();
            nextForma = new Tetramino();

            Aggiorna();

            Console.SetCursorPosition(4, 5);
            Console.WriteLine("GAME OVER");
            Grid.clearGrid();
        } // End Main