来自星星的你,一个风靡全亚洲的连续剧。这里来自星星的你——既是一个消灭星星的游戏。既是一个大名鼎鼎的游戏——消灭星星。那请看我游戏运行后最终的结果:

  

  下面,我们来看一看相应的游戏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坐标,宽度,高度,材质,这是指定一个游戏元素非常重要的。

  总而言之,这些接口,看似是一些鸡肋,确是整个游戏的蓝图。

来自星星的你,我要代表月亮消灭你一相关推荐

  1. 消灭星星山寨版-我代表星星消灭你

    前言 消灭星星这个游戏很经典,开始之前,请参考一下以下文章及算法. 感谢作者. 参考地址 PopStar(消灭星星)游戏源代码下载.分析及跨平台移植-第一篇(界面) 关于用到的资源 用到的资源我是直接 ...

  2. 武汉科技大学ACM:1002: 华科版C语言程序设计教程(第二版)例题6.6

    Problem Description 明天就要英语考试了,小明明正在挑灯夜 战背单词.小明明发现单词很难背,背一个忘一个.经过仔细研究,小明明发现单词难背的原因是因为某个字符的出现,破坏了整个单词的 ...

  3. Linux下Hadoop hdfs Java API使用

    0 前言 搞了大约2天时间终于把Linux下面Java API的使用给弄清楚了.做个笔记方便以后参考.环境如下所示 Hadoop:2.5.1 Linux:Ubuntu kylin eclipse:lu ...

  4. 服务器点对点直连,点对点网络连接怎么建立有什么作用

    点对点技术,是无中心服务器.依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险.很多用户不知道怎么建立点对点网络连接?其实方法很简单,下面就由小 ...

  5. 邮箱邀请涵wm05.html文件怎么阅读,群邮箱里发来的“邀请函”暗藏木马,千万别点后面的链接...

    原标题:群邮箱里发来的"邀请函"暗藏木马,千万别点后面的链接 最近,小编的QQ群和邮箱都收到一些邀请函,并附有链接.如邀请函hl07.html.邀请函名单https://t.cn/ ...

  6. Python献个礼 | 属于80、90后的 “儿童节” 礼物!

    今天是六一儿童节,暂且就让忧愁.烦恼的文章搁置一边.让我们笔下充满温度的文字,带着我们一起回忆属于我们"80.90后的童年记忆".时间的年轮向前推进,所有的过往都成了岁月的记忆,回 ...

  7. Fragment与Activity之间的完美邂逅

    Fragment Activity 看下我实现的效果图这种真的特别常见点击左边的item替换右边的布局文件 MovieContent package view.zm.com.wyimtest.bean ...

  8. 亚马逊正在逐渐压垮出版社,帮了世界一把

           原文:http://www.vox.com/2014/10/22/7016827/amazon-hachette-monopoly 新闻报道了周四早上亚马逊解决了与书籍出版商Hachet ...

  9. 磊科路由器信号按键_磊科无线路由器参数设置教程

    可能不是很了解磊科无线路由器设置网络的方法,毕竟不同品牌路由器设置方法有所不同,用户们不太清楚.那磊科无线路由器要如何设置?下面就和大家说一下磊科无线路由器设置的方法. 磊科无线路由器设置的方法 方法 ...

最新文章

  1. Linux二进制导出配置文件,Go打包二进制文件的实现
  2. 回首这一年,其实我还是一样!
  3. 波士顿动力最新仓储机器人,每小时“搬砖”800块
  4. VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
  5. 通过设置Cookie 让弹框显示一次
  6. sql优化常用的几种方法_MySQL常用30种SQL查询语句优化方法
  7. Java Word break analysis
  8. 工作398-关于e.currentTarget.dataset的取值。
  9. 简短—揭开数学学科对于计算机应用的神秘面纱
  10. Python接口自动化之unittest单元测试
  11. 使用ember-cli脚手架快速构建项目
  12. 7种JVM垃圾收集器特点,优劣势、及使用场景
  13. 最全计算机基础知识竞赛试题及答案,计算机基础知识竞赛试题.doc
  14. givens变换化上hessenborg矩阵为上三角矩阵
  15. 《暗时间(第2版)——思维改变生活》全书网址链接汇总
  16. python十人抽奖小程序_利用python编写年会抽奖小程序
  17. 计算机网络的资源子网,在计算机网络中,资源子网的功能是什么?
  18. 训练创新思维的方法:曼陀罗思考法
  19. 11g中hanganalyze的格式
  20. java项目-第90期基于ssm的嘟嘟二手书商城系统

热门文章

  1. Nature新研究:猪脑死亡4小时后,科学家成功恢复脑细胞功能
  2. 全国首套中小学生人工智能教材在沪亮相
  3. AI 开发神器来了!支持 CPU 加速优化!!
  4. 坦白局!一个大厂 Java 工程师近 20 年的进阶心得
  5. 动图演示:手撸堆栈的两种实现方法!
  6. 悬浮提示工具(悬浮出现自动消失)
  7. java学习之路--零碎的知识笔记
  8. 解释器模式(interpreter)解析例子
  9. MySQL 复制 主键冲突
  10. Redis和消息队列使用实战