admin 管理员组文章数量: 1086019
2024年3月1日发(作者:ldapsearch 渗透)
Android俄罗斯方块附源码
思路:
•
•
•
•
首先要画出游戏背景墙;
其次,要有方块,以及方块单元;
方块的不同形状,颜色随机产生;
游戏的控制面板。
可能会出现的问题或者难点:
•
•
边界问题: ①处于边界的时候,方块不可以再左右移动; ②下降的时候,到达边界即底部,则不可继续下落,此时应该产生一个新的方块;
与其它方块接触问题: ①下落的时候,如果碰到其它的方块则停止下落; ②左右移动的时候,移动的过程中,如果接触到其他方快,则不可再继续左右移动;
方块的消除: ①调用方块消除方法的时间:当方块下落到底部的时候,判断是否有需要消除的行; ②消除其中一行之后,应该把这一行上面的全部方块下移一行;
方块的旋转: 在当前项目中,我采用的是顺时针旋转。 ①当旋转的时候,如果出现方块部分超出了边界,应该对方块进行平移,使其回到边界以内。(曾在网上看到有人做过,判断旋转之后是否会超出边界,如果会超出,则不进行旋转,我觉得不好,方块只要没有下落到底部,我觉得都可以进行旋转,除了没有空间让其旋转外); ②如果空间不足以旋转,也不可以旋转。空间不足以旋转的意思是:比如横向方向只有两个的空间,而方块旋转后会占用三个空间,此时也不可进行旋转; ③当无法继续下落或者下落到了底部也不可再进行旋转
控制面板: ①游戏开始、暂停、继续、结束,这些状态应该怎么去控制,以及游戏与控制台的事件关联。
未发现的问题: 因为本人能力,只做到这么多,如果有人发现问题,可以留言交流,欢迎挑问题。
•
•
•
•
游戏的运行界面如下所示,基本的功能以及操作很简单。
这里写图片描述
下面直接看项目代码 项目文件结构
这里写图片描述
下面分别介绍每个类的功能
游戏的主界面,背景墙以及方块都在此里面,就是一个自定义的View ,(默认大家对于自定义View是熟悉的),在改类里面,有一个游戏主线程,用于控制游戏的开始,暂停,继续,停止,以及方块下落的速率。代码我加了很多注释,看不懂的可以留言。还有一点需要注意,当停止游戏时,要释放线程,养成好习惯
• 方块的单元块,大家都玩过俄罗斯方块,每一个方块由四个单元块组成。单元快应该有以下属性:①大小:单元块的大小决定了主界面的容量(容纳单元块的数量);②颜色:每个单元块都有一个颜色,美化游戏界面(可无);③坐标:包括X轴坐标、Y轴坐标,在绘制方块的时候,以单元块的坐标为起点绘制,即:单元块的坐标值应该为单元块在界面上的左上角的坐标。
• 此类的主要功能有:方块的下落,左右移动,判断是否可以旋转等功能都在此类中,算是核心类。
• 用于产生不同形状的方块,共有其中类型。
• 其实就是游戏主界面的一个缩减版,用于显示下一个要出现的方块的,玩家可以明确的知道下一个方块的形状和颜色。
• 用于配置方块的下落速度
public class GameConfig { /**方块下落的速度*/ public static final int SPEED = 300; }
•
•
主界面,包括游戏主界面和控制台,很简单,直接贴代码。
TetrisActivityAW activity的xml文件
•
整个项目就是这些,代码已经全部贴出来了。 整个项目写的时候,以为很简单,但是却遇到了很多问题,不过都已解决。欢迎来找bug,大家共同进步。
版权声明:本文标题:Android俄罗斯方块附源码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1709244839a541136.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论