来自星星的你,我要代表月亮消灭你一
来自星星的你,一个风靡全亚洲的连续剧。这里来自星星的你——既是一个消灭星星的游戏。既是一个大名鼎鼎的游戏——消灭星星。那请看我游戏运行后最终的结果:
下面,我们来看一看相应的游戏mvc思维导图:
下面是类的结构图:
下面进行主要类的介绍,这节主要介绍三个接口。
第一个接口,IConstants接口,这个IConstants接口定义了一些游戏中的常量,这些常量定义了游戏中的一些主基调,例如游戏面板中的宽度,高度。每行的数量,每列的数量等等,这些都是游戏主元素,源代码如下:
/*** 这个类定义了所谓的一些常量 * @author zcw*/
public interface IConstants {/**格子个数**/public static final int CELLS_HORIZONTAL = 8;public static final int CELLS_VERTICAL = CELLS_HORIZONTAL; /**格子尺寸**/public static final int CELL_WIDTH = 40;public static final int CELL_HEIGHT = CELL_WIDTH; /**背景格子个数**/public static final int CELLBG_HORIZONTAL = 4;public static final int CELLBG_VERTICAL = CELLBG_HORIZONTAL; /**背景格子尺寸**/public static final int CELLBG_WIDTH = 80;public static final int CELLBG_HEIGHT = CELLBG_WIDTH;/**星星的状态**/final int STATE_NORMAL = 0; //正常final int STATE_SCALEINT = STATE_NORMAL + 1; //缩放final int STATE_FALL = STATE_SCALEINT + 1; //下落中final int STATE_DEAD = STATE_FALL + 1;//死亡
}
我们得出来这样的结论:
Ⅰ定义了格子的格数。
Ⅱ定义了格子的尺寸。
Ⅲ定义了星星的状态。每种状态都由一种常量代表。
这里就是定基调——定游戏的基调。
第二个接口 ISPrite接口——精灵类的接口,一切精灵的接口都是继承与他,定义了接口的通用属性与方法。源代码如下:
/*** 精灵接口* @author zcw*/
public interface ISprite {public int getRow();//获取在地图中到行public int getCol();//获取在地图中到列public void setMapPosition(final int row, final int col);//移动到地图到指定位置}
这个接口分别定义元素能够获取在地图中的行,地图中的列,还能将其移动到地图指定的位置。
这个接口,大框架——搭游戏元素的框架。
三ICell类——游戏单元格的抽象类,单元格的一种抽象。源代码如下:
/*** 单元格的抽象类(相当于接口)* @author zcw*/
public abstract class ICell extends Sprite implements IConstants {public ICell(final int pCellX, final int pCellY, final int pWidth, final int pHeight, final TextureRegion pTextureRegion) {super(pCellX, pCellY, pWidth, pHeight, pTextureRegion);}
}
这个接口分别方法定义了x坐标,y坐标,宽度,高度,材质,这是指定一个游戏元素非常重要的。
总而言之,这些接口,看似是一些鸡肋,确是整个游戏的蓝图。
来自星星的你,我要代表月亮消灭你一相关推荐
- 消灭星星山寨版-我代表星星消灭你
前言 消灭星星这个游戏很经典,开始之前,请参考一下以下文章及算法. 感谢作者. 参考地址 PopStar(消灭星星)游戏源代码下载.分析及跨平台移植-第一篇(界面) 关于用到的资源 用到的资源我是直接 ...
- 武汉科技大学ACM:1002: 华科版C语言程序设计教程(第二版)例题6.6
Problem Description 明天就要英语考试了,小明明正在挑灯夜 战背单词.小明明发现单词很难背,背一个忘一个.经过仔细研究,小明明发现单词难背的原因是因为某个字符的出现,破坏了整个单词的 ...
- Linux下Hadoop hdfs Java API使用
0 前言 搞了大约2天时间终于把Linux下面Java API的使用给弄清楚了.做个笔记方便以后参考.环境如下所示 Hadoop:2.5.1 Linux:Ubuntu kylin eclipse:lu ...
- 服务器点对点直连,点对点网络连接怎么建立有什么作用
点对点技术,是无中心服务器.依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险.很多用户不知道怎么建立点对点网络连接?其实方法很简单,下面就由小 ...
- 邮箱邀请涵wm05.html文件怎么阅读,群邮箱里发来的“邀请函”暗藏木马,千万别点后面的链接...
原标题:群邮箱里发来的"邀请函"暗藏木马,千万别点后面的链接 最近,小编的QQ群和邮箱都收到一些邀请函,并附有链接.如邀请函hl07.html.邀请函名单https://t.cn/ ...
- Python献个礼 | 属于80、90后的 “儿童节” 礼物!
今天是六一儿童节,暂且就让忧愁.烦恼的文章搁置一边.让我们笔下充满温度的文字,带着我们一起回忆属于我们"80.90后的童年记忆".时间的年轮向前推进,所有的过往都成了岁月的记忆,回 ...
- Fragment与Activity之间的完美邂逅
Fragment Activity 看下我实现的效果图这种真的特别常见点击左边的item替换右边的布局文件 MovieContent package view.zm.com.wyimtest.bean ...
- 亚马逊正在逐渐压垮出版社,帮了世界一把
原文:http://www.vox.com/2014/10/22/7016827/amazon-hachette-monopoly 新闻报道了周四早上亚马逊解决了与书籍出版商Hachet ...
- 磊科路由器信号按键_磊科无线路由器参数设置教程
可能不是很了解磊科无线路由器设置网络的方法,毕竟不同品牌路由器设置方法有所不同,用户们不太清楚.那磊科无线路由器要如何设置?下面就和大家说一下磊科无线路由器设置的方法. 磊科无线路由器设置的方法 方法 ...
最新文章
- Linux二进制导出配置文件,Go打包二进制文件的实现
- 回首这一年,其实我还是一样!
- 波士顿动力最新仓储机器人,每小时“搬砖”800块
- VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
- 通过设置Cookie 让弹框显示一次
- sql优化常用的几种方法_MySQL常用30种SQL查询语句优化方法
- Java Word break analysis
- 工作398-关于e.currentTarget.dataset的取值。
- 简短—揭开数学学科对于计算机应用的神秘面纱
- Python接口自动化之unittest单元测试
- 使用ember-cli脚手架快速构建项目
- 7种JVM垃圾收集器特点,优劣势、及使用场景
- 最全计算机基础知识竞赛试题及答案,计算机基础知识竞赛试题.doc
- givens变换化上hessenborg矩阵为上三角矩阵
- 《暗时间(第2版)——思维改变生活》全书网址链接汇总
- python十人抽奖小程序_利用python编写年会抽奖小程序
- 计算机网络的资源子网,在计算机网络中,资源子网的功能是什么?
- 训练创新思维的方法:曼陀罗思考法
- 11g中hanganalyze的格式
- java项目-第90期基于ssm的嘟嘟二手书商城系统