基于Android平台的俄罗斯方块游戏.docx
《基于Android平台的俄罗斯方块游戏.docx》由会员分享,可在线阅读,更多相关《基于Android平台的俄罗斯方块游戏.docx(41页珍藏版)》请在沃文网上搜索。
1、交通运输学院课程设计目录俄罗斯方块游戏在Android中的实现1引言11游戏背景及功能概述11.1背景概述11.2游戏简介21.3功能概述21.4游戏操作方法42.游戏策划及准备工作52.1游戏策划52.2游戏开发平台62.3Android平台下游戏的准备工作63.游戏构架74游戏中各个类中实现的功能85游戏的优化与改进8结论8参考文献9附录9附录1.Elos.java文件代码9附录2.ElosLogic.java文件代码37附录3.BuildConfig.java文件代码38附录4.R.java文件代码38附录5.AndroidManifest.xml文件代码39附录6.elos.xml文件
2、代码40附录7.String.xml文件代码4040俄罗斯方块游戏在Android中的实现引言引言:简要说明设计题目的目的、意义、内容、主要任务等。俄罗斯方块原本是前苏联科学家阿列克谢帕基特诺夫所开发的教育用软件,之后开始提供授权给各个游戏公司,造成各平台上软件大量发行的现象。由于俄罗斯方块具有的数学性、动态性与知名度,也经常拿来作为游戏程序设计的练习题材。俄罗斯方块曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事,它看似简单但却变化无穷,令人上瘾。俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游
3、戏都无法相比的。从诞生发展至今俄罗斯方块已经可以在各个平台上运行了。本次游戏的开发就是基于Android 4.0系统和传统俄罗斯方块的游戏方法进行的。1游戏背景及功能概述俄罗斯方块(Tetris, 俄文:)是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世界。1.1背景概述俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏
4、制作人Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在Android手机游戏的兴起又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在Android俄罗斯方块中,更有一些Android游戏所独有的魅力更加方便简单的操作模式,用户可在任意的地方任意时间进行游戏。1.2游戏简介原本是前苏联科学家阿列克谢帕基特诺夫所开发的教育用软件,之后开始提供授权给各个游戏公司,造成
5、各平台上软件大量发行的现象。Game Boy版的俄罗斯方块在日本卖出424万套,是Game Boy史上卖最好的游戏。海湾战争时,也是前线美军最常拿消磨时间的游戏之一。由于俄罗斯方块具有的数学性、动态性与知名度,也经常拿来作为游戏程序设计的练习题材。俄罗斯方块曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。1.3功能概述1、一个用于摆放
6、小型正方形的平面虚拟场地,其标准大小:行宽为24,列高为25,以每个小正方形为单位。2、一组由4个小型正方形组成的规则图形,英文称为Tetromino,中文通称为方块共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。I:一次最多消除四层J(左右):最多消除三层,或消除二层L:最多消除三层,或消除二层O:消除一至二层S(左右):最多二层,容易造成孔洞Z (左右):最多二层,容易造成孔洞T:最多二层(1)部分游戏有单格方块,可以穿透固定的方块到达最下层空位。其他的改版中出现更多特别的造型。方块会从区域上方开始缓慢继续落下。(2)玩家可以做的操作有:以90度为单位旋转方块,以格子为单
7、位左右移动方块,让方块加速落下。(3)方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的方块出现在区域上方开始落下。(4)当区域中某一列横向格子全部由方块填满,则该列会消失并成为玩家的得分。同时删除的列数越多,得分指数上升。(5)当固定的方块堆到区域最上方而无法消除层数时,则游戏结束。(6)一般来说,游戏还会提示下一个要落下的方块,熟练的玩家会计算到下一个方块,评估现在要如何进行。由于游戏能不断进行下去对商业用游戏不太理想,所以一般还会随着游戏的进行而加速提高难度。3、通过设计者预先设置的随机发生器不断地输出单个方块到场地顶部,以一定的规则进行移动、旋转、下落和摆放,锁定
8、并填充到场地中。每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取一定的积分或者其他形式的奖励。而未被消除的方块会一直累积,并对后来的方块摆放造成各种影响。4、如果未被消除的方块堆放的高度超过场地所规定的最大高度(并不一定是20或者玩家所能见到的高度),则游戏结束。具体到每一款不同的游戏,其中的细节规则都可能有千差万别,但是以上的基本规则是相同的。1.4游戏操作方法1、安装apk游戏安装包,在Android手机的资源管理其中找到并点击Elos.apk文件选择安装。图1游戏开始前的界面截图2、点击游戏图标进入游戏界面后按键盘的MENU按钮,在弹出的菜单中选
9、择“开始”来开始游戏(如图1所示)。3、游戏玩家可以再游戏中采用点击“MENU”按钮来选择“暂停”、“退出”、“开始”以实现暂停、退出、重新开始功能(如图2所示)。图2游戏中的界面截图4、触摸屏操作:系统缺省设置使用触摸屏,用手指点击方块的左边一次左移一格(长按则快速移动到最左边);点击方块的右边一次右移一格(长按则快速移动到最右边);点击方块本身旋转方块;点击方块的下边一次向下移一格(长按则快速移动到最下边)。5、计分牌显示的内容:“分数”为本局游戏所得的分数,一次消一行100分、2行200分、3行400分、4行800分。“关卡”为本局游戏所在的关卡,所在的关卡越高,难度越大。“时间”为本局
10、游戏从开始到当前所用的时间。2.游戏策划及准备工作2.1游戏策划游戏的策划是指对游戏中主要功能的实现方案进行确定的过程,大型游戏需要缜密的策划才可以开发。例如,呈现技术、目标平台等内容。l 游戏设计本游戏为经典俄罗斯方块游戏,每一次消除一层加100分、2层200分、3层400分、4层800分。游戏中的方块形状都是随机生成的(共7种)。随着难度的增加方块下落的默认速度会增加,游戏分数没有上限。l 呈现技术本游戏采用的游戏背景和其他图片都是用美图秀秀软件编辑的。l 目标平台本游戏的目标平台为Android 4.0。l 操作方式游戏的操作方式为触控操作,游戏菜单的弹出是通过键盘来操作的。2.2游戏开
11、发平台本次开发采用jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008开发包、eclipse-SDK-3.6.2-win32开发工具、android-sdk-windows开发包。l JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多
12、。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。l Eclipse(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。l Android SDK(Google Android专属的软件开发工具包),它
13、是编写Android应用程序的基石。2.3Android平台下游戏的准备工作本游戏中用到的图片资源见表1所示。表1游戏中所用到的图片资源及说明图片名称大小(kB)像素(w*h)用途a.jpg0.64724*25小方快图案b.jpg0.64724*25小方快图案c.jpg0.64724*25小方快图案d.jpg0.64724*25小方快图案e.jpg0.64724*25小方快图案f.jpg0.64724*25小方快图案g.jpg0.64724*25小方快图案h.jpg0.64724*25小方快图案i.jpg0.64724*25小方快图案icon.jpg7.96140*115游戏图标P4.jpg7
14、.31522*780游戏背景3.游戏构架本游戏中各个模块的结构如图3所示。图3游戏的总构架l 前台表示模块主要用于游戏画面的渲染。其中包括游戏界面和管理面版两个模块,游戏界面主要为游戏中出现的界面,比如:开始界面和游戏中界面。管理面板包括开始、退出、暂停三部分,主要为玩家提供控制游戏行进和退出。l 游戏实体模块主要用于后台游戏逻辑。本游戏中仅有方块实体模块一部分。方块实体模块主要负责对已落下、正在落下和即将落下的方块图案的颜色和形状进行控制,核对正在落下的方块图案的行进路线、形状变换进行控制。l 数据存储模块包括游戏中关卡数据的存储和的分数据的存储。游戏每一次启动都将全部删除上次启动时所产生的
15、数据,重新进行新的数据存储。后台运行时重新进入游戏不算做重启游戏,故数据不会重置。l 工具类模块将自身的静态成员或者方法提供给游戏中的其他类使用。4游戏中各个类中实现的功能由于在本次游戏的开发中本人对代码的注释比较详尽,故对各个类所实现的功能在代码中都有较详细的注释。具体功能见附件代码。5游戏的优化与改进到目前为止本游戏已经能实现俄罗斯方块游戏本身的基本功能,但是有一些地方还值得优化与改进。下面提出几点需要改进的地方以便在下次开发时进行必要的完善。l 加入本地游戏用户列表和相关的一些面板(如积分排行榜);l 加入游戏声音(本次游戏的开发由于主要用于兰州交通大学交通运输学院信息管理与信息系统09
16、级2012年暑期课程设计,时间有限没有加入游戏声音);l 取消重启游戏后得分重置(由于本次开发没有加入游戏用户,数据的保存只能保存所有玩家的最高纪录等信息,而无法保存某个玩家的个人最优成绩等);l 对界面中图像进行优化(此次开发由于时间和精力有限对图像的处理力求简单,下次开发可以对图像进行比较深的加工);l 对游戏中的一些BUG进行改进(到目前为止此游戏在中兴U880Android2.3.7上使用没有发现比如卡死等较大的BUG);结论面向对象设计方法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。这是面向对象设计方法最主要的特点和成就。面向对象设计方法的应用解决了
17、传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程,是一种很有发展前途的系统开发方法。通过此次Android游戏的开发,使得我们更加深刻地理解了面向对象的编程思想。参考文献1 刘志宏.Java程序设计教程.北京:航空工业出版社,2010年7月2 单兴华.Java基础与案例开发详解.北京:清华大学出版社,2009年9月附录附录1.Elos.java文件代码package com.weirui;import android.app.Activity;import android.content.Context;i
18、mport android.content.res.Resources;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.Display;import android.view.KeyEvent;import android.view.
19、Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.WindowManager;import android.widget.LinearLayout;import android.widget.Toast;public class Elos extends Activity private final int SQUARELEMENT_NUMBERS = 7;private ElosLogic player = null;/定
20、义一个自定义的类的量private ElosView evElos = null;private ElosStateView esvElos = null;private ElosLogic elosGuard = null;/定义界面数组private Drawable drArr = new DrawableSQUARELEMENT_NUMBERS;/保存方块的图片private Drawable drArrCartoonBG = null;/保存背景图片private int nElosHeight = 0;/定义一个保存组成方块图片的高的量private int nElosWidth
21、= 0;/定义一个保存组成方块图片的宽的量private boolean bReset = true;/为true时表示开始private boolean bPause =true;/false表示用来暂停使用的int DRAWABLE_CHOICES = SQUARELEMENT_NUMBERS;/定义一个一个变量用来随机抽取图片来组成图形int ELOS_CHOICES = 15;int time=0;/时间int ntime=0;/累计时间int nTimeInterval = 500;/初始值为500表示第一关的总分为500*10int nCents = 0;/游戏得分int nSta
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 俄罗斯方块 游戏