俄罗斯方块(2D、3D)
声明:这篇文章主要是参考几个别人的博文及源代码学习。参考文章:
1)http://blog.csdn.net/qian_f/article/details/19758671
2)http://yacare.iteye.com/blog/1949398
砖块类型:
如何实现俄罗斯方块游戏?首先我们需要确定有些中的初始化有多少种方块,每种方块是可以如何变形?一共包含以下七种图形、变形情况如下:
方块一: 变形1 变形2 变形3 变形4
+ + + + + + + + + + + + + + + +
方块二:
- - - - - - - - - - - - - - - - - + - - - - - - - - - + - - - - - - - - - + - - - + + + + - - + - - + + + + - - - + - - - - - - - - - + - - - - - - - - - + - - - - - - - - - + - - - - - - - - - - - -
方块三:
- + - - + - - - - - + - + + + - + + + + + + + - - - - - + - - + - - + -
方块四:
- - - - + - + + - - - + + + - + + - - + + - + + - + + + - - - - - - + -
方块五:
- - - + - - - + + - + - - + + + + - + + - - + + + + - - + - - - - - - +
方块六:
- - - - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - + - - - - + + + - - + + - + + + - - - + + - - - - - - - - - + - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - -
方块七:
- - - - - - - + - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - + + + - - - - + + - - - + + + - + + - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - + - -
游戏画布
根据自己的需求设定一定宽度、高度的一个画布,根据需要设定宽多少column,高多少row,除了对画布划分网格外,还需要对每个网格设定其颜色填充类型:1)七种图形的哪一种(-1--无任何填充因此无颜色,0:填充砖块1类型,1:填充砖块2类型;。。。6:填充砖块7类型,备注:每种栅格对应有自己唯一的渲染颜色,因此记录栅格就可以找到其对应的填充颜色值);
2)是否填充(0--无填充;1--填充)
因此,定义画布的网格需要使用一个三维数组表示:int [,,]
第一个元素代表:第多少个column,从0开始;
第二个元素代表:第多少个row,从0开始;
第三个元素代表:某个网格的颜色填充类型。
画布事件:
上、下(快速实现下滑)、左、右
方块具有的属性方法:
颜色、中心点、相对中心点、砖块类型唯一标识、变型序列、必要的行、必要的列、变形范围;
是否可以向左、是否可以向右、是否可以向下、是否可以变形、变形。
2D效果图:
3D效果图:
去掉网格后的效果貌似更好点:
代码下载:链接:http://pan.baidu.com/s/1mhTnj64 密码:c2rl
感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
2015-08-27 删除用户的时候,产生“数据库主体在该数据库中拥有架构,无法删除”的解决办法