unity3d做俄罗斯方块
今天我们来聊聊俄罗斯方块,最近比较闲就简单的做了一个俄罗斯方块,其实说白了就是对一堆二维数组的处理。我们把其中方块的形状写成二维数组的形式,在这里我定义了六中形状,即:
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做俄罗斯方块相关推荐
- 用纯JS做俄罗斯方块 - 简要思路介绍(1)
大家都知道俄罗斯方块是一款大众化的游戏了,我很小的时候就玩过,今年已经25岁了,可以说俄罗斯方块确实是历史悠久,做俄罗斯方块是我上个星期开始的想法.也许是由于自己从来没有写过这种东西吧,所以有生疏.代 ...
- unity3D做的飞机游戏
unity3D做的飞机游戏 游戏图下动态图所示: 资源下载链接:https://download.csdn.net/download/weixin_43474701/20326922
- unity3d做会减少的血条_用Unity做血条或进度条常用脚本 - 纳金网
本节汇宝盆为大家带来的是:用Unity做血条或进度条常用脚本 * 血条或进度条的效果 用Unity3d做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条 ...
- 用 React+Redux+Immutable 做俄罗斯方块
俄罗斯方块是一直各类程序语言热衷实现的经典游戏,JavsScript的实现版本也有很多,用React 做好俄罗斯方块则成了我一个目标. 戳 https://chvin.github.io/react- ...
- unity3d做简单小游戏可以吗?
可以吗?当然.如果是独立开发,主要在美工,这类的游戏程序简单,有些基础就行,美工要做得好可不容易,要是效果要求不高,随便在max拉几个模型吧.unity方面,熟悉一下,如果有程序基础,十天半个月弄个差 ...
- unity3d做会减少的血条_2019-2020年Unity3D——人物主角的血条-经验的显示.doc
Unity3D--人物主角的血条 经验的显示 今天说一下人物主角的血量和经验还有人物等级金币的显示.? ? ???//主角刚出现的时候现有血量? ? public static int blood = ...
- unity3d做会减少的血条_Unity3d中NGUI加强版血条(Healthbar)的制作
这阵子项目中需要用到一种特殊样式的血条.描述如下: 1. 正常颜色为红色.受到伤害后,即将扣除的血量变暗(暗红色),并有下降动画效果: 2. 加护盾效果后,增加一部分血量值,该额外部分为白色,护盾效果 ...
- linux下c语言俄罗斯方块,c语言做俄罗斯方块
我来对这段程序做一下注释: #include /*标准库*/ #include /*绘图库*/ #include /*BIOS库,输入输出,BIOS时间等*/ #define mDRAW 5 /*各种 ...
- python做俄罗斯方块如何显示下一个随机方块_随机俄罗斯方块形状
我正在尝试编写一个python程序,它将在一块板上绘制一个随机的俄罗斯方块形状. 我的代码是:def __init__(self, win): self.board = Board(win, self ...
最新文章
- 微信小程序 require module exports 的使用
- OSChina 周三乱弹 ——我求婚,你敢答应吗
- uptime命令分析负载
- document.getElementByName()的用法
- Linux系统root密码重置教程
- 【转】微服务实践(五):微服务的事件驱动数据管理
- 深入理解JavaScript系列(33):设计模式之策略模式
- HtmlHelper让我们的效率更高
- PCD Lesson3:PCD文件的读取
- Python命令行版本的员工管理系统
- SourceTree使用笔记 ssh-key配置
- word排版程序代码
- 微信小程序怎么开通店铺呢?
- 在线购物系统—类图设计
- 关于紫猫插件的共享网络数据NetData系列搭建环境新版教程
- 苹果录屏没声音_iPhone XR突然没声音如何解决?西安苹果售后维修点教你几招方法...
- KS检验-如何理解KS检验中的p-value
- 优秀课件笔记之中国园林艺术讲稿
- IDEA优化配置(6)--- 炫酷的主题字体颜色设置(基于Intellij IDEA 2018)
- stm32mp15x环境搭建基于linux环境(上)
热门文章
- 请按照以下要求设计一个学生类Student,并进行测试,要求如下:
- java吃货联盟app讲解_java吃货联盟订餐系统
- android 手势识别,Android实现Gesture手势识别用法分析
- 运动世界校园 校园跑 不想跑步人的福利
- 计算机锁屏打不开,电脑快捷锁屏不能用怎么办
- wifi android透传源代码,【终极版】ESP8266远程控制wifi透传模块带调试app
- WordPress初学者入门教程-WordPress的设置
- teamview+ccproxy实现远程局域网本地访问
- flutter基础 dart语言学习笔记
- Java中的时间、时区和夏令时