private static void PlayBlock(Game.StructBlock sbBlock, Boolean isNew) { if (isNew) { // create new block sbBlock = Tetris.Block.Generate(); } else { Tetris.SendToField(ptBlock, wrBlockAdj); } Tetris.Block.Assign(sbBlock); Tetris.Block.Build(); Tetris.Block.Adjustment(ref wrBlockAdj); ptBlock.x = (PlayWindow.left - wrBlockAdj.left) + (PlayWindow.width - wrBlockAdj.width) / 2; ptBlock.y = PlayWindow.top; Tetris.Block.Draw(ptBlock, wrBlockAdj, true); ShowNextBlock(); if (Tetris.IsCollided(ptBlock, wrBlockAdj)) { sndEffect.Play(global::prjTetris.Properties.Resources.S102); Console.SetCursorPosition((Console.WindowWidth - msg3.Length) / 2, Console.WindowHeight / 2); Console.Write(msg3); isGameExit = true; } else if (isRows) { // rows completed sndEffect.Play(global::prjTetris.Properties.Resources.S103); isRows = false; } else { sndEffect.Play(global::prjTetris.Properties.Resources.S100); } }
private static void ShowNextBlock() { nextBlock = Tetris.Block.Generate(); // get next block Console.ForegroundColor = ConsoleColor.White; Console.SetCursorPosition(PlayWindow.width + PlayWindow.left + 4, 8); Console.Write("Next"); Console.SetCursorPosition(PlayWindow.width + PlayWindow.left + 2, 9); Console.Write("¤¤¤¤¤¤¤¤"); for (int i = 1; i <= 6; i++) { Console.SetCursorPosition(PlayWindow.width + PlayWindow.left + 2, i + 9); Console.Write("¤ ¤"); } Console.SetCursorPosition(PlayWindow.width + PlayWindow.left + 2, 15); Console.Write("¤¤¤¤¤¤¤¤"); Console.ResetColor(); Tetris.Block.Preview(new Point(PlayWindow.width + PlayWindow.left + 6, 12), nextBlock); }