static void Update() { Pre_Update(); TetrisBoard.UpdateActiveCoords(); Draw(); Post_Update(); }
public static void Main(string[] args) { /*TetrisBoard.board[0, 0] = 0; TetrisBoard.board[0, 1] = 0; TetrisBoard.board[0, 2] = 1; TetrisBoard.board[1, 0] = 0; TetrisBoard.board[1, 1] = 1; TetrisBoard.board[1, 2] = 0; TetrisBoard.board[2, 0] = 1; TetrisBoard.board[2, 1] = 0; TetrisBoard.board[2, 2] = 1; Console.WriteLine(TetrisBoard.Draw()); TetrisBoard.Next(); Console.WriteLine("\n" + TetrisBoard.Draw());*/ Console.WindowHeight = 40; Console.WindowWidth = 40; start = DateTime.Now; lastFrame = start; KeyListener = new Thread(new ThreadStart(Input.CheckForKey)); KeyListener.Start(); currentTetrimino = GenerateRandomTetrimino(); TetrisBoard.activeTermino = currentTetrimino; TetrisBoard.UpdateActiveCoords(); currentTetrimino = new Tetrimino(currentTetrimino.GetTetriminoEnum()); nextTetrimino = GenerateRandomTetrimino(); lastTurn = DateTime.Now; while (!terminate) Update(); Console.ReadKey(); }
public static void CheckForKey() { ConsoleKeyInfo info; while (!Program.terminate) { if (!Program.haveARest) { if (Console.KeyAvailable) { info = Console.ReadKey(true); if (info.Key == ConsoleKey.W || info.Key == ConsoleKey.UpArrow) { TetrisBoard.activeTermino.Rotate(); TetrisBoard.UpdateActiveCoords(); } else if (info.Key == ConsoleKey.D || info.Key == ConsoleKey.RightArrow) { if (TetrisBoard.activeTermino.GetWidth() + TetrisBoard.topLeft.x < Program.BOARD_WIDTH) { TetrisBoard.topLeft.x++; TetrisBoard.UpdateActiveCoords(); } } else if (info.Key == ConsoleKey.A || info.Key == ConsoleKey.LeftArrow) { if (TetrisBoard.topLeft.x >= 1) { TetrisBoard.topLeft.x--; TetrisBoard.UpdateActiveCoords(); } } else if (info.Key == ConsoleKey.S || info.Key == ConsoleKey.DownArrow) { if (!TetrisBoard.CheckIfHit()) { TetrisBoard.topLeft.y++; } else { } } else if (info.Key == ConsoleKey.Escape) { //Program.Game_Over(); } } //endif } //endif } //endwhile } //endmethod