来自星星的你,我要代表月亮消灭你一

简介:

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

  

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

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







目录
相关文章
|
9月前
|
索引 Python
星际争霸之小霸王之小蜜蜂(七)--消失的子弹
星际争霸之小霸王之小蜜蜂(七)--消失的子弹
|
Python
字符串离奇消失之谜
字符串离奇消失之谜
70 0
|
小程序 搜索推荐 开发者
谈谈宝石方块游戏中的设计
宝石方块是在上一个俄罗斯方块工程的基础上改编的,所以制作起来很快,我只用了不到两天的时间就完成了游戏的功能,后续又花了几天的时间制作游戏的界面,优化游戏的体验。
120 0
|
C++ Python
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
2022年5月14日LeetCode双周赛第三题-6068. 毯子覆盖的最多白色砖块数
|
Java
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
Java锤子剪刀布大家应该都会玩“锤子剪刀布”的游戏: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。
149 0
L1-015 跟奥巴马一起画方块 (15 分)
L1-015 跟奥巴马一起画方块 (15 分)
260 0
外星人的一天 (15 分)
外星人的一天 (15 分)
203 0
|
JavaScript
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
298 0
小明特别喜欢打扑克牌,除了喜欢斗地主和德州扑克之外,还喜欢一种叫桥牌的游戏,桥牌的具体规则相当复杂,有叫牌、打牌和计分三个阶段,还有不断变化的局况,局况可能影响叫牌打牌策略。但是小明暂时不关心这一些,
|
人工智能 算法 IDE
与「看不见的手」掷骰子的人
500 亿管理规模已经暗示王阳所在的这家公司掌握了某种平衡之美——它兼顾了最为前沿的研究与结果导向。这其中的秘诀是什么?这台神秘而又充满精度的金融机器又是如何高效运转的?
136 0
与「看不见的手」掷骰子的人
|
开发工具
电脑屏幕太小不够用?这有妙招!
为什么需要分屏功能?其实需求场合有很多。比如,我现在屏幕很大,但我们的代码一般是左对齐,右边很空,这样我们就可以通过分屏来充分利用右边的屏幕。再如,我现在想同时查看多个文档,除了打开多个终端外,我们还可以通过分屏来达到我们的目的。
167 0
电脑屏幕太小不够用?这有妙招!