C#实现俄罗斯方块游戏<续>三维优化

    上篇博文已经介绍俄罗斯方块Demo的简单实现,鄙人在完成了弱弱的简单俄罗斯方块Demo后,想要对Demo进行优化和美化设置,使得俄罗斯的可玩性增强。本篇博文主要在将结构的优化、游戏的美化和可玩性的扩展性上进行改进,让我们的游戏变不那么单调,偶尔也要高端霸气上档次。 

 

第一、算法的优化:

    在Demo中,基本上都是用循环来完成向下、向左、向右的移动、检查是否存在可以得分的行等动作。在这些循环中我们使用了从0到最大值的循环。在检测是否满行和绘制背景的时候,之前采用了历边所有的背景数组。将遍历条件设为缩小到俄罗斯方块完成落下的最小高度,可以缩小循环的范围。从而提高执行效率。

 

故声明一个全局变量
private int lowY = 19; //初始化的时候为到最下面一行。初始背景无任何砖块
 

第二、补全砖块类型:

    俄罗斯方块一共有7种砖块类型,上篇博文鄙人只定义了四种类型,现在将其补齐

可能看过上一篇博文的童鞋可能不太懂这个怎么弄的,其实这个容易理解,把是1的连起来就知道是什么图形了。哈哈,简单吧。。。

 
/// <summary>
        /// 定义砖块int[i,j,y,x] 
        /// 4种类型方块,每种方块的4种方位,4*4的位置矩阵
        /// tricks:i为块砖类型,j为状态,x为行,y为列
        /// </summary>
        private int[, , ,] tricks = {
  {
                                      {
                                          {1,0,0,0},
                                          {1,0,0,0},
                                          {1,0,0,0},
                                          {1,0,0,0}
                                      },
                                      {
                                          {1,1,1,1},
                                          {0,0,0,0},
                                          {0,0,0,0},
                                          {0,0,0,0}
                                      },
                                      {
                                          {1,0,0,0},
                                          {1,0,0,0},
                                          {1,0,0,0},
                                          {1,0,0,0}
                                      },
                                      {
                                          {1,1,1,1},
                                          {0,0,0,0},
                                          {0,0,0,0},
                                          {0,0,0,0}
                                      }
                                  },
                                  {
                                       {
                                           {1,1,0,0},
                                           {1,1,0,0},
                                           {0,0,0,0},
                                           {0,0,0,0}
                                       },
                                       {
                                           {1,1,0,0},
                                           {1,1,0,0},
                                           {0,0,0,0},
                                           {0,0,0,0}
                                       },
                                       {
                                           {1,1,0,0},
                                           {1,1,0,0},
                                           {0,0,0,0},
                                           {0,0,0,0}
                                       },
                                       {
                                           {1,1,0,0},
                                           {1,1,0,0},
                                           {0,0,0,0},
                                           {0,0,0,0}
                                       }
                                   },
                                   {
                                       {
                                           {1,0,0,0},
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值