当前位置: 首页>>代码示例>>C#>>正文


C# Board.Advance方法代码示例

本文整理汇总了C#中Board.Advance方法的典型用法代码示例。如果您正苦于以下问题:C# Board.Advance方法的具体用法?C# Board.Advance怎么用?C# Board.Advance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Board的用法示例。


在下文中一共展示了Board.Advance方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BoardDetectsBottomLinesEvenIfNoCurrentPieceExists

 public void BoardDetectsBottomLinesEvenIfNoCurrentPieceExists()
 {
     var board = new Board(2, 3);
     board.AddNewBlock(1, 2);
     board.AddNewBlock(0, 2);
     //BB
     //BB
     Assert.AreEqual(2, board.GetBlocks().Count());
     board.Advance();
     Assert.AreEqual(0, board.GetBlocks().Count());
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:11,代码来源:BoardTests.cs

示例2: BoardDetectsMultipleLines

 public void BoardDetectsMultipleLines()
 {
     var board = new Board(2, 3);
     board.AddNewBlock(0, 2);
     board.AddNewBlock(1, 2);
     board.AddNewBlock(1, 1);
     board.AddNewBlock(0, 1);
     //BB
     //BB
     Assert.AreEqual(4, board.GetBlocks().Count());
     board.Advance();
     Assert.AreEqual(0, board.GetBlocks().Count());
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:13,代码来源:BoardTests.cs

示例3: WhenPieceReachesBottomItsBlocksBecamePartOfTheBoard

        public void WhenPieceReachesBottomItsBlocksBecamePartOfTheBoard()
        {
            var board = new Board(2, 3);
            board.AddNewPiece();
            var block = board.CurrentPiece.GetBlocks().First();

            board.Advance();
            board.Advance();
            board.Advance();//no deberia hacer linea

            Assert.IsTrue(board.Contains(block));
        }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:12,代码来源:BoardTests.cs

示例4: WhenFullLinesIsDetectedOnlyFullLineBlocksAreRemoved

 public void WhenFullLinesIsDetectedOnlyFullLineBlocksAreRemoved()
 {
     var board = new Board(2, 4);
     board.AddNewBlock(1, 1);
     board.AddNewBlock(0, 1);
     board.AddNewBlock(1, 2);
     board.AddNewBlock(1, 3);
     board.AddNewBlock(0, 3);
     //BB
     // B
     //BB
     Assert.AreEqual(5, board.GetBlocks().Count());
     board.Advance();
     //
     // B
     //
     Assert.AreEqual(1, board.GetBlocks().Count());
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:18,代码来源:BoardTests.cs

示例5: WhenFullLinesIsDetectedBlocksAreMovedDown

 public void WhenFullLinesIsDetectedBlocksAreMovedDown()
 {
     var board = new Board(2, 4);
     var block1 = board.AddNewBlock(0, 0);
     board.AddNewBlock(1, 1);
     board.AddNewBlock(0, 1);
     var block2 = board.AddNewBlock(1, 2);
     board.AddNewBlock(1, 3);
     board.AddNewBlock(0, 3);
     //B
     //BB
     // B
     //BB
     Assert.AreEqual(6, board.GetBlocks().Count());
     board.Advance();
     //
     //
     //B
     // B
     Assert.AreEqual(2, board.GetBlocks().Count());
     Assert.AreEqual(0, block1.X);
     Assert.AreEqual(2, block1.Y);
     Assert.AreEqual(1, block2.X);
     Assert.AreEqual(3, block2.Y);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:25,代码来源:BoardTests.cs

示例6: WhenDoesNotExistsCurrentPieceAndBoardAdvancesNothingOcurrs

 public void WhenDoesNotExistsCurrentPieceAndBoardAdvancesNothingOcurrs()
 {
     var board = new Board();
     board.Advance();
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:5,代码来源:BoardTests.cs

示例7: WhenCurrentPieceReachesBottomVerifyesIfThereIsLineEvenForComplexPieces

        public void WhenCurrentPieceReachesBottomVerifyesIfThereIsLineEvenForComplexPieces()
        {
            var board = new Board(3, 5);
            var block1 = new Block(0, 0);
            var block2 = new Block(2, 0);
            board.AddNewPiece(new[] { block1, block2 });
            board.AddNewBlock(1, 4);
            // P P
            //
            //
            //
            //  X
            Assert.AreEqual(1, board.GetBlocks().Count());
            board.Advance(); //1
            board.Advance();
            board.Advance();
            board.Advance(); //4
            board.Advance();

            Assert.IsNull(board.CurrentPiece);
            Assert.AreEqual(0, board.GetBlocks().Count());
        }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:22,代码来源:BoardTests.cs

示例8: WhenCurrentPieceReachesBottomVerifyesIfThereIsLine

 public void WhenCurrentPieceReachesBottomVerifyesIfThereIsLine()
 {
     var board = new Board(2, 3);
     board.AddNewBlock(1, 2);
     board.AddNewPiece(); //0
     board.Advance(); //1
     board.Advance(); //2
     board.Advance(); //La pieza se apoyó.
     Assert.AreEqual(0, board.GetBlocks().Count());
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:10,代码来源:BoardTests.cs

示例9: WhenCurrentPieceColidesWithIsolatedBlocksEvenForComplexPieces

 public void WhenCurrentPieceColidesWithIsolatedBlocksEvenForComplexPieces()
 {
     var board = new Board(3, 3);
     var block1 = new Block(0, 0);
     var block2 = new Block(2, 0);
     board.AddNewPiece(new[] { block1, block2 });
     board.AddNewBlock(2, 2);
     board.AddNewBlock(1, 0);
     // PXP
     //
     //   X
     Assert.AreEqual(2, board.GetBlocks().Count());
     board.Advance(); //1
     Assert.AreEqual(2, board.GetBlocks().Count());
     Assert.IsNotNull(board.CurrentPiece);
     board.Advance(); //2
     Assert.IsNull(board.CurrentPiece);
     Assert.AreEqual(4, board.GetBlocks().Count());
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:19,代码来源:BoardTests.cs

示例10: WhenBoardFirstAdvancesCurrentPieceGoesDown

 public void WhenBoardFirstAdvancesCurrentPieceGoesDown()
 {
     var board = new Board();
     board.AddNewPiece();
     board.Advance();
     Assert.AreEqual(1, board.CurrentPiece.Y);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:7,代码来源:BoardTests.cs

示例11: WhenBoardAdvancesCurrentPieceGoesDown

 public void WhenBoardAdvancesCurrentPieceGoesDown()
 {
     var board = new Board(30);
     board.AddNewPiece();
     for (int i = 0; i <= 20; i++)
     {
         Assert.AreEqual(i, board.CurrentPiece.Y);
         board.Advance();
     }
     Assert.AreEqual(21, board.CurrentPiece.Y);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:11,代码来源:BoardTests.cs

示例12: WhenAdvancesPieceBlocksAlsoAdvanceEvenForComplexPieces

 public void WhenAdvancesPieceBlocksAlsoAdvanceEvenForComplexPieces()
 {
     var board = new Board(4, 5);
     var block1 = new Block(2, 0);
     var block2 = new Block(3, 1);
     board.AddNewPiece(new[] { block1, block2 });
     board.Advance();
     Assert.AreEqual(2, block1.X);
     Assert.AreEqual(1, block1.Y);
     Assert.AreEqual(3, block2.X);
     Assert.AreEqual(2, block2.Y);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:12,代码来源:BoardTests.cs

示例13: WhenAdvancesPieceBlocksAlsoAdvance

 public void WhenAdvancesPieceBlocksAlsoAdvance()
 {
     var board = new Board();
     board.AddNewPiece();
     Assert.AreEqual(0, board.CurrentPiece.GetBlocks().First().Y);
     board.Advance();
     Assert.AreEqual(1, board.CurrentPiece.GetBlocks().First().Y);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:8,代码来源:BoardTests.cs

示例14: PiecesAreLeanedAlsoOnIsolatedBlocks

        public void PiecesAreLeanedAlsoOnIsolatedBlocks()
        {
            var board = new Board(2, 4);
            //
            //
            //B
            //
            var isolated = board.AddNewBlock(0, 2);
            board.AddNewPiece();
            var pieceBlock = board.CurrentPiece.GetBlocks().Single();
            board.Advance();
            board.Advance();
            Assert.AreEqual(2, board.GetBlocks().Count());
            Assert.IsTrue(board.GetBlocks().Contains(isolated));
            Assert.IsTrue(board.GetBlocks().Contains(pieceBlock));

            Assert.AreEqual(2, isolated.Y);
            Assert.AreEqual(0, isolated.X);

            Assert.AreEqual(1, pieceBlock.Y);
            Assert.AreEqual(0, pieceBlock.X);
        }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:22,代码来源:BoardTests.cs

示例15: CurrentPieceAdvancesUntilBottom

 public void CurrentPieceAdvancesUntilBottom()
 {
     var board = new Board(3);
     board.AddNewPiece(); //0
     board.Advance(); //1
     board.Advance(); //2
     Assert.AreEqual(2, board.CurrentPiece.Y);
     board.Advance();
     Assert.IsNull(board.CurrentPiece);
 }
开发者ID:skiel85,项目名称:randori-tetris,代码行数:10,代码来源:BoardTests.cs


注:本文中的Board.Advance方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。