示例#1
0
 private void ProcessSpeedUp(TetrisGame game, TetrisGame.UpdateBeginEventArgs e) // 按得分加速
 {
     if (game.ScoreSystem.Score >= _nextSpeedUp)
     {
         game.GameSpeed++;
         _nextSpeedUp += 20;
     }
 }
示例#2
0
 private void ProcessItem(TetrisGame game, TetrisGame.UpdateBeginEventArgs e) // 处理道具操作
 {
     if (game.Block is ItemBlock)
     {
         if (game.Block is GunItemBlock)
         {
             var block = game.Block as GunItemBlock;
             if (block.Acted())
             {
                 var j = block.RPos;
                 for (var i = game.Height - 1; i >= 0; i--)
                 {
                     if (game.UnderLying[i, j] != null)
                     {
                         game.UnderLying[i, j] = null;
                         break;
                     }
                 }
                 block.ResetDirection();
             }
         }
         if (game.Block is InverseGunItemBlock)
         {
             var block = game.Block as InverseGunItemBlock;
             if (block.Acted())
             {
                 var j = block.RPos;
                 var i = game.Height - 1;
                 for (; i >= 0; i--)
                 {
                     if (game.UnderLying[i, j] != null)
                     {
                         break;
                     }
                 }
                 var s = new Square(GameColor.InverseGunFillSquare);
                 game.UnderLying[i + 1, j] = s;
                 game.PushNewSquare(s);
                 block.ResetDirection();
             }
         }
     }
 }