static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var view = new FrmTetrisView(); var settings = new TerisGameSettings() { RowCount = 20, ColumnCount = 10, TimerInterval = 500, TetrominoFactory = new TetrominoFactoryClassic() }; var _controller = new TetrisGameController(view, settings); //_controller.BeyondBoundary += view.GameOver; //_controller.SelfCrash += view.GameOver; _controller.GameOver += view.GameOver; _controller.RowsEliminated += view.RowsEliminatedHandler; _controller.Initialize(); view.StartRequest = _controller.Start; view.PauseRequest = _controller.TimerElapsedCore; //view.PauseRequest = _controller.Pause; //view.ResetRequest = _controller.Reset; //view.StopRequest = _controller.Stop; view.OrientationReqest = _controller.InterviewCommand; Application.Run(view); }
public IEnumerator DifferentLineTest() { CommonInstall(); var gameSettings = GameSettingsInstaller.InstallFromResource("GameSettingsInstaller"); TetrisGameController ctr = Container.InstantiatePrefabForComponent <TetrisGameController>(gameSettings.TetrisGameControllerPrefab); ctr.isUpdatingFallingPiece = false; TetrisPiece piece = null; piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateMoveCol(-4)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.T); yield return(ctr.IterateRotate(3)); yield return(ctr.IterateMoveCol(1)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateMoveCol(3)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.T); yield return(ctr.IterateMoveCol(-2)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.T); yield return(ctr.IterateRotate(1)); yield return(ctr.IterateMoveCol(-4)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.T); yield return(ctr.IterateMoveCol(3)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateMoveCol(-2)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateMoveCol(2)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate(1)); yield return(ctr.IterateMoveCol(4)); yield return(ctr.IterateFall()); yield return(null); Assert.AreEqual( "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000001\n" + "1110010101\n" + "1111011111", ctr.GetBoardString(), "Clear not right" ); }
public IEnumerator LineDownTest() { // Use the Assert class to test conditions. // yield to skip a frame CommonInstall(); var gameSettings = GameSettingsInstaller.InstallFromResource("GameSettingsInstaller"); TetrisGameController ctr = Container.InstantiatePrefabForComponent <TetrisGameController>(gameSettings.TetrisGameControllerPrefab); ctr.isUpdatingFallingPiece = false; TetrisPiece piece = null; piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(-5)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(-4)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(-3)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(2)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(3)); yield return(ctr.IterateFall()); piece = ctr.CreatePiece(TetrisPiece.PieceType.I); yield return(ctr.IterateRotate()); yield return(ctr.IterateMoveCol(4)); yield return(ctr.IterateFall()); Assert.AreEqual( "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "0000000000\n" + "1110000111\n" + "1110000111\n" + "1110000111", ctr.GetBoardString(), "Clear not right" ); }
// Use this for initialization void Start() { tGC = GetComponent <TetrisGameController>(); }