博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
来自星星的你,我要代表月亮消灭你一
阅读量:6525 次
发布时间:2019-06-24

本文共 1895 字,大约阅读时间需要 6 分钟。

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

  

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

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

 

转载地址:http://efjbo.baihongyu.com/

你可能感兴趣的文章
2017年计划
查看>>
Uva 11077 Find the Permutations [置换群 DP]
查看>>
多个类混合使用,实现扑克牌随机创建和展示
查看>>
Eclipse项目修改没有同步到编译的问题
查看>>
[C++设计模式] singleton 单例模式
查看>>
在ASP.NET Core中实现自定义验证特性(Custom Validation Attribute)
查看>>
nginx泛域名解析实现二级域名多域名
查看>>
xshell,putty远程连接Linux并使用密钥认证
查看>>
(转)Maven仓库——私服介绍
查看>>
Zynq-Linux移植学习笔记之27UIO机制响应外部中断实现【转】
查看>>
Flutter – 生成二维码与识别二维码
查看>>
javaScript博文目录
查看>>
java 写文件
查看>>
最近看的几本书
查看>>
C# 消息处理机制及自定义过滤方式
查看>>
用NuGet.Server管好自家的包包
查看>>
UITableViewCell设置 checkmark的问题
查看>>
jquery扩展
查看>>
android 动画
查看>>
NYOJ-506 洗澡
查看>>