Android小游戏之2048课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

滨江学院

《移动通信程序设计》

课程设计

题目Android小游戏之2048

院系计算机系

专业网络工程

学生姓名XXXX

学号***********

二O一四年六月九日

目录

1概念

1.1游戏背景-----------------------------------------------------1 1.2游戏开发-----------------------------------------------------1 1.3论文内容安排-------------------------------------------------1

2 功能设计

2.1界面设计-----------------------------------------------------2 2.2游戏设计-----------------------------------------------------2 2.3事件监听-----------------------------------------------------4 2.4游戏最终实现-------------------------------------------------4

3 结果展示

3.1游戏开始界面-------------------------------------------------7 3.2游戏结束界面-------------------------------------------------7

4 结论

4.1结论心得-----------------------------------------------------8

5 参考文献

5参考文献-------------------------------------------------------8

Android小游戏之2048

XXXXX

1 概述

1.1 游戏背景

《小3传奇》的悲剧以及《2048》的崛起。

近期,新出的一款叫做《2048》的安卓手游十分的火爆,几乎游戏下载排行榜的前10名都能看到“它的身影”。然而并不是每一个人都知道一件事,那是一个关于“2048”诞生的故事。

故事的发展是这样的,《2048》的祖先是一款名为《Threes》(中文名为《小3传奇》)的手游。《小3传奇》的两位开发者花了近一年半时间才开发出这个游戏的核心玩法,却在其上架App store后仅21天就被《1024》抄了过去。最让人意想不到的是,《2048》则更为迅速,19岁的Gabriele Cirulli只用了一个星期改编前两者游戏,却获得最大的成功,《Threes》却不被人知。

而到了现在,这类游戏从发布到现在,不管是App Store还是Android市场,下载量已经远远超越了千万,网上各种版本的都有,比如朝代版,后宫版,甲乙丙版,生肖版等。

1.2 游戏开发

由于本人十分喜欢《2048》这款手游,在了解了本次课程设计是设计一个Android平台下的软件之后,就选定了《2048》作为本次课程论文的课题。

在此次课程论文的制作过程中,我将运用我在《移动平台开发技术》学习到的知识以及java编程知识通过网上现有的资料尝试完成此次课程的开发。

1.3论文内容安排

要开发这一款游戏,要根据以下几步来完成:

1)首先是要对这款游戏的代码分析。对整一个游戏,要将各个部位分割成其对应部位的功能代码,并且逐一去分析实现其中不同的功能。

2)其次是游戏的流程。在做好每一个部分的代码之后,就需要把所创造的各个关键部分拼接起来,因此,就需要先把该游戏的流程一步一步的弄清楚。

3)再者是对《2048》这一款游戏的算法分析。对于整个游戏而言,最主要的心脏就是这一款游戏的算法,游戏好不好,就看这一款游戏的算法是不是符合逻辑。《2048》这一款游戏的算法分为上下左右自

个方向的,具体的下面分析。

4)《2048》中每个格子的数据和颜色的刷新。在每一次移动之后,几乎在这4*4的每一个方格上的数据都会变化,因此在每一次移动之后,每一个方格上的数据都要刷新一次。相对的,每一个数的背景颜色是不同的,也就是说,在每一次数据刷新的时候,每一个方格上的颜色也要同样的刷新一次。

5)最后是可不可以继续游戏的检测。当屏幕上没有没有写有数据的方格并且屏幕上的数据没有哪两个相邻的数据是一样的两个数,那么就判定为游戏结束。

2 功能设计

2.1 设计界面

在设计整个2048游戏之前先得设计一个2048的游戏界面,只有有了游戏界面,才能够进行2048这一款游戏的下一步设计,这是创建2048小游戏的最基础的步骤。

2048这一款游戏的界面是4*4方格的,于是就需要在界面上设置4*4的方格,有了这些方格之后才能在方格上面装卡片(Card),然后才能继续游戏。

private void onDrawBorder(Canvas canvas) {

paint.setShader(null);

paint.setStrokeWidth(16);

paint.setColor(Color.WHITE);

canvas.drawLine(0, 0, 0, this.getHeight(), paint);

canvas.drawLine(0, 0, this.getWidth(), 0, paint);

canvas.drawLine(this.getWidth(), 0, this.getWidth(), this.getHeight(), paint);

canvas.drawLine(0, this.getHeight(), this.getWidth(), this.getHeight(), paint);

}

方格下面继而显示分数(Score)和最高分数(BestScore)。

2.2 游戏设计

在2048游戏的界面设计好了之后,要求完成最核心的玩法就是卡片在于界面上4*4的移动,于是下一步的操作就是对卡片的具体设置,以下是一部分关键代码。

(1)创建一个卡片

private Card getCard(int num){

Card c;

if (cards.size()>0) {

c = cards.remove(0);

相关文档
最新文档