今天我们来聊聊俄罗斯方块,最近比较闲就简单的做了一个俄罗斯方块,其实说白了就是对一堆二维数组的处理。我们把其中方块的形状写成二维数组的形式,在这里我定义了六中形状,即:

  1     public void InitData () {
  2         tetrisData = new List<TetrisItemModel> ();
  3         //第一种形状
  4         TetrisItemModel item0 = new TetrisItemModel (
  5             new List<int[,]> {
  6                 new int[,] {
  7                     {0,1,0,0},
  8                     {0,1,0,0},
  9                     {0,1,0,0},
 10                     {0,1,0,0},
 11                 },
 12                 new int[,] {
 13                     {1,1,1,1},
 14                     {0,0,0,0},
 15                     {0,0,0,0},
 16                     {0,0,0,0},
 17                 },
 18                 new int[,] {
 19                     {0,1,0,0},
 20                     {0,1,0,0},
 21                     {0,1,0,0},
 22                     {0,1,0,0},
 23                 },
 24                 new int[,] {
 25                     {1,1,1,1},
 26                     {0,0,0,0},
 27                     {0,0,0,0},
 28                     {0,0,0,0},
 29                 }
 30             }
 31
 32         );
 33
 34         //第二种形状
 35         TetrisItemModel item1 = new TetrisItemModel (
 36             new List<int[,]> {
 37                 new int[,] {
 38                     {1,0,0,0},
 39                     {1,1,0,0},
 40                     {0,1,0,0},
 41                     {0,0,0,0},
 42                 },
 43                 new int[,] {
 44                     {0,1,1,0},
 45                     {1,1,0,0},
 46                     {0,0,0,0},
 47                     {0,0,0,0},
 48                 },
 49                 new int[,] {
 50                     {1,0,0,0},
 51                     {1,1,0,0},
 52                     {0,1,0,0},
 53                     {0,0,0,0},
 54                 },
 55                 new int[,] {
 56                     {0,1,1,0},
 57                     {1,1,0,0},
 58                     {0,0,0,0},
 59                     {0,0,0,0},
 60                 }
 61             }
 62
 63         );
 64         //第三种形状
 65         TetrisItemModel item2 = new TetrisItemModel (
 66             new List<int[,]> {
 67                 new int[,] {
 68                     {0,1,0,0},
 69                     {1,1,0,0},
 70                     {0,1,0,0},
 71                     {0,0,0,0},
 72                 },
 73                 new int[,] {
 74                     {0,1,0,0},
 75                     {1,1,1,0},
 76                     {0,0,0,0},
 77                     {0,0,0,0},
 78                 },
 79                 new int[,] {
 80                     {1,0,0,0},
 81                     {1,1,0,0},
 82                     {1,0,0,0},
 83                     {0,0,0,0},
 84                 },
 85                 new int[,] {
 86                     {1,1,1,0},
 87                     {0,1,0,0},
 88                     {0,0,0,0},
 89                     {0,0,0,0},
 90                 }
 91             }
 92
 93         );
 94
 95         //第四种形状
 96         TetrisItemModel item3 = new TetrisItemModel (
 97             new List<int[,]> {
 98                 new int[,] {
 99                     {1,0,0,0},
100                     {1,0,0,0},
101                     {1,1,0,0},
102                     {0,0,0,0},
103                 },
104                 new int[,] {
105                     {1,1,1,0},
106                     {1,0,0,0},
107                     {0,0,0,0},
108                     {0,0,0,0},
109                 },
110                 new int[,] {
111                     {1,1,0,0},
112                     {0,1,0,0},
113                     {0,1,0,0},
114                     {0,0,0,0},
115                 },
116                 new int[,] {
117                     {0,0,1,0},
118                     {1,1,1,0},
119                     {0,0,0,0},
120                     {0,0,0,0},
121                 }
122             }
123
124         );
125         //第五种形状
126         TetrisItemModel item4 = new TetrisItemModel (
127             new List<int[,]> {
128                 new int[,] {
129                     {0,1,0,0},
130                     {0,1,0,0},
131                     {1,1,0,0},
132                     {0,0,0,0},
133                 },
134                 new int[,] {
135                     {1,0,0,0},
136                     {1,1,1,0},
137                     {0,0,0,0},
138                     {0,0,0,0},
139                 },
140                 new int[,] {
141                     {1,1,0,0},
142                     {1,0,0,0},
143                     {1,0,0,0},
144                     {0,0,0,0},
145                 },
146                 new int[,] {
147                     {1,1,1,0},
148                     {0,0,1,0},
149                     {0,0,0,0},
150                     {0,0,0,0},
151                 }
152             }
153
154         );
155         //第六种形状
156         TetrisItemModel item5 = new TetrisItemModel (
157             new List<int[,]> {
158                 new int[,] {
159                     {0,1,0,0},
160                     {1,1,0,0},
161                     {1,0,0,0},
162                     {0,0,0,0},
163                 },
164                 new int[,] {
165                     {1,1,0,0},
166                     {0,1,1,0},
167                     {0,0,0,0},
168                     {0,0,0,0},
169                 },
170                 new int[,] {
171                     {0,1,0,0},
172                     {1,1,0,0},
173                     {1,0,0,0},
174                     {0,0,0,0},
175                 },
176                 new int[,] {
177                     {1,1,0,0},
178                     {0,1,1,0},
179                     {0,0,0,0},
180                     {0,0,0,0},
181                 }
182             }
183
184         );

  随机出现的方块的形状就在里边随机,然后在对应的位置显示出小方块,随机出的方块的属性:

  

1   private int _currentX;
2     private int _currentY;
3     //4*4的二维数组
4     private int [,]data;

  背景也是一个二维数组,俄罗斯方块主要考察的是二维数组,只要逻辑清楚了,做出来是很容易的

  

转载于:https://www.cnblogs.com/angeljiajia/p/5332734.html

unity3d做俄罗斯方块相关推荐

  1. 用纯JS做俄罗斯方块 - 简要思路介绍(1)

    大家都知道俄罗斯方块是一款大众化的游戏了,我很小的时候就玩过,今年已经25岁了,可以说俄罗斯方块确实是历史悠久,做俄罗斯方块是我上个星期开始的想法.也许是由于自己从来没有写过这种东西吧,所以有生疏.代 ...

  2. unity3D做的飞机游戏

    unity3D做的飞机游戏 游戏图下动态图所示: 资源下载链接:https://download.csdn.net/download/weixin_43474701/20326922

  3. unity3d做会减少的血条_用Unity做血条或进度条常用脚本 - 纳金网

    本节汇宝盆为大家带来的是:用Unity做血条或进度条常用脚本 * 血条或进度条的效果 用Unity3d做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条 ...

  4. 用 React+Redux+Immutable 做俄罗斯方块

    俄罗斯方块是一直各类程序语言热衷实现的经典游戏,JavsScript的实现版本也有很多,用React 做好俄罗斯方块则成了我一个目标. 戳 https://chvin.github.io/react- ...

  5. unity3d做简单小游戏可以吗?

    可以吗?当然.如果是独立开发,主要在美工,这类的游戏程序简单,有些基础就行,美工要做得好可不容易,要是效果要求不高,随便在max拉几个模型吧.unity方面,熟悉一下,如果有程序基础,十天半个月弄个差 ...

  6. unity3d做会减少的血条_2019-2020年Unity3D——人物主角的血条-经验的显示.doc

    Unity3D--人物主角的血条 经验的显示 今天说一下人物主角的血量和经验还有人物等级金币的显示.? ? ???//主角刚出现的时候现有血量? ? public static int blood = ...

  7. unity3d做会减少的血条_Unity3d中NGUI加强版血条(Healthbar)的制作

    这阵子项目中需要用到一种特殊样式的血条.描述如下: 1. 正常颜色为红色.受到伤害后,即将扣除的血量变暗(暗红色),并有下降动画效果: 2. 加护盾效果后,增加一部分血量值,该额外部分为白色,护盾效果 ...

  8. linux下c语言俄罗斯方块,c语言做俄罗斯方块

    我来对这段程序做一下注释: #include /*标准库*/ #include /*绘图库*/ #include /*BIOS库,输入输出,BIOS时间等*/ #define mDRAW 5 /*各种 ...

  9. python做俄罗斯方块如何显示下一个随机方块_随机俄罗斯方块形状

    我正在尝试编写一个python程序,它将在一块板上绘制一个随机的俄罗斯方块形状. 我的代码是:def __init__(self, win): self.board = Board(win, self ...

最新文章

  1. 微信小程序 require module exports 的使用
  2. OSChina 周三乱弹 ——我求婚,你敢答应吗
  3. uptime命令分析负载
  4. document.getElementByName()的用法
  5. Linux系统root密码重置教程
  6. 【转】微服务实践(五):微服务的事件驱动数据管理
  7. 深入理解JavaScript系列(33):设计模式之策略模式
  8. HtmlHelper让我们的效率更高
  9. PCD Lesson3:PCD文件的读取
  10. Python命令行版本的员工管理系统
  11. SourceTree使用笔记 ssh-key配置
  12. word排版程序代码
  13. 微信小程序怎么开通店铺呢?
  14. 在线购物系统—类图设计
  15. 关于紫猫插件的共享网络数据NetData系列搭建环境新版教程
  16. 苹果录屏没声音_iPhone XR突然没声音如何解决?西安苹果售后维修点教你几招方法...
  17. KS检验-如何理解KS检验中的p-value
  18. 优秀课件笔记之中国园林艺术讲稿
  19. IDEA优化配置(6)--- 炫酷的主题字体颜色设置(基于Intellij IDEA 2018)
  20. stm32mp15x环境搭建基于linux环境(上)

热门文章

  1. 请按照以下要求设计一个学生类Student,并进行测试,要求如下:
  2. java吃货联盟app讲解_java吃货联盟订餐系统
  3. android 手势识别,Android实现Gesture手势识别用法分析
  4. 运动世界校园 校园跑 不想跑步人的福利
  5. 计算机锁屏打不开,电脑快捷锁屏不能用怎么办
  6. wifi android透传源代码,【终极版】ESP8266远程控制wifi透传模块带调试app
  7. WordPress初学者入门教程-WordPress的设置
  8. teamview+ccproxy实现远程局域网本地访问
  9. flutter基础 dart语言学习笔记
  10. Java中的时间、时区和夏令时