android连连看手机游戏开发设计说明书.docx
- 文档编号:9026934
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:21.21KB
android连连看手机游戏开发设计说明书.docx
《android连连看手机游戏开发设计说明书.docx》由会员分享,可在线阅读,更多相关《android连连看手机游戏开发设计说明书.docx(16页珍藏版)》请在冰豆网上搜索。
android连连看手机游戏开发设计说明书
Android手机软件开发设计说明书
题 目:
Android连连看
姓 名:
学 号:
班 级:
0
指导教师:
完成日期:
2011.12.18
第一章功能介绍 2
1.1功能描述 2
1.2功能特点 2
第二章系统的设计实现 3
2.1结构设计 3
2.2设计实现 3
2.2.1设计思想. 3
2.2.2具体实现 4
2.2.3界面设计说明............................ ........7
2.2.4主要算法设计说.......................10
总结 11
参考文献 12
Andorid连连看系统设计说明书
第一章功能介绍
1.1功能描述
在连连看游戏中,两张相同图片之间存在通路的条件就是两张图片间某条路径中含有的拐角数不超过两个并且没有其它图片存在。
基于这一基本功能完成的同时,这个连连看还有以下一些功能:
1、计时器:
在游戏过程中同步设置一个计时器,需在规定时间内完成游戏,否则就为游戏失败。
2、游戏难度:
可以在游戏开始时设置游戏难易程度,其实就是规定时间的不同。
游戏的难易程度可以再窗体的游戏难度显示栏上显示。
3、暂停:
在游戏过程中,玩家可以根据自己的需要暂停游戏,点击start键后又可以返回游戏。
4、路径显示:
游戏过程中,如果两张所选的相同图片之间存在着通路,就可以用连线显示该组图片间的一条路径,便于玩家观察。
1.2功能特点
1、用于为玩家提供操作提示,便于玩家了解游戏的规则。
2、用于为玩家提供可视化的游戏界面,增加了游戏的可玩性。
3、当用户选择菜单时能够快速反应,以满足用户的要求。
4、完成图片的消除功能,消除时画线功能,重新排列功能。
第二章系统的设计实现
2.1结构设计
连连看游戏结构如下:
2.2设计实现
主要有四个大类:
classGameView //游戏视类,处理游戏中的情况,包括界面生成,算法,一部分消息响应。
classGameActivity //用于处理游戏中的消息提示
classStartActivity //用于菜单的设计
ClassSetActivity //用于菜单中游戏难度的设定
2.2.1设计思想
(1)主要功能:
用于为玩家提供操作提示,便于玩家了解游戏的规则。
(2)可扩展性:
能够适应应用要求的变化和修改,具有灵活的可扩充性.
2.2.2具体实现
图1.主界面
主要有开始游戏、游戏设置、游戏规则、退出游戏等几个选项
图2.游戏设置的菜单
主要设置游戏的简易程度
图3.进行游戏
算法
//定义菜单类,接口为OnClickListener,用于接收用户的单击消息。
publicclassStartActivityextendsActivityimplementsView.OnClickListener
//设计5个按钮用于接收按钮消息:
privateButtonbtnStart;
privateButtonbtnSet;
privateButtonbtnRole;
privateButtonbtnAbout;
privateButtonbtnExit;
//在OnCreate函数中将它们初始化:
//获取按钮
btnStart=(Button)findViewById(R.id.btnStart);
btnSet=(Button)findViewById(R.id.btnSet);
btnRole=(Button)findViewById(R.id.btnRole);
btnAbout=(Button)findViewById(R.id.btnAbout);
btnExit=(Button)findViewById(R.id.btnExit);
//注册点击事件
btnStart.setOnClickListener(this);
btnSet.setOnClickListener(this);
btnRole.setOnClickListener(this);
btnAbout.setOnClickListener(this);
btnExit.setOnClickListener(this);
在OnClick函数中对响应进行处理:
setContentView(newGameView(this));//进入游戏,游戏在GameView类中进行了封装
//说明游戏规则
newAlertDialog.Builder(this).setMessage("1.将相同的两张图片用三根以内的直线连在一起就可以消除\n"+
"2.每消除一次图片,都会使可用时间增加\n"+"3.每隔一段时间,当前的界面中的图片会进行重排列\n"+
"4.在规定的时间里,当所有的图片都消除时,即为胜利\n"+"5.规定的时间内有图片未消去,即为失败\n")
.setPositiveButton("确定",null).show();
//结束游戏
this.finish();
//进行游戏设置,设置游戏的难度,调用了SetActivity类
intent.setClass(this,SetActivity.class);
2.2.3界面设计说明
主要功能:
用于为玩家提供可视化的游戏界面,增加了游戏的可玩性。
可扩展性:
能够适应应用要求的变化和修改,具有灵活的可扩充性。
1、功能
生成游戏界面,生成进度条。
如下图:
2、性能
能够快速的随机生成符合用户需要的界面
3、算法
//定义游戏视图类
publicclassGameViewextendsView
//存储素材图片
publicint[]imageType
//保存所有小格子中的图片
publicint[][]grid=newint[row][col];
//初始化加载图片的类型
publicvoidinitType(){
//总共要加载的图片
intsize=(row-2)*(col-2); //64
//每类图片加载的次数(张数)要为偶数
intcount=size/imageType.length; //imageType.length=16 即,16种图片
for(inti=0;i for(intj=0;j type.add(imageType[i]); } } } //初始化网格的设计 privatevoidinitGrid(){ Randomr=newRandom(); for(inti=0;i for(intj=0;j if(i==0||i==row-1||j==0||j==col-1){ grid[i][j]=0; //四周不设置图片 }else{ intindex=r.nextInt(type.size()); grid[i][j]=type.get(index); type.remove(index); } } } } //设置位图的大小 privatevoidititmBitmap(Contextcontext){ inttypeLength=imageType.length; image=newBitmap[typeLength]; //重新绘制 for(inti=0;i //创建一个Bitmap的对象 Bitmapbitmap=Bitmap.createBitmap((int)width,(int)height,Bitmap.Config.ARGB_8888); //对Bitmap进行绘制 Canvascanvas=newCanvas(bitmap); Drawabledwr=context.getResources().getDrawable(imageType[i]); dwr.setBounds(1,1,30,30); dwr.draw(canvas); image[i]=bitmap; } } //在OnDraw函数中画出框格,每次进行重绘操作 //设置背景颜色: PaintbackGround=newPaint(); backGround.setColor(Color.WHITE); //画一个矩形 canvas.drawRect(0,0,getWidth(),getHeight(),backGround); //设置网格线条的颜色 Painthigth= newPaint(); higth.setColor(Color.BLUE); //画网格 for(inti=0;i<10;i++){ //画横线、纵线 canvas.drawLine(0,height*i,getWidth(),height*i,higth); canvas.drawLine(width*i,0,width*i,getHeight(),higth); } //画image图片 booleantest=true; //检测图片是否肖完 for(inti=0;i for(intj=0;j if(grid[i][j]! =0){ canvas.drawBitmap(image[Arrays.binarySearch(imageType,grid[i][j])], i*width,j*height,null); test=false; ////还有图片,说明未赢 } } } 4、接口 API函数 5、限制条件 无明显限制条件 2.2.4主要算法设计说明 1、程序描述 主要功能: 完成图片的消除功能,消除时画线功能,重新排列功能。 可扩展性: 能够适应应用要求的变化和修改,具有灵活的可扩充性。 2、功能 完成连连看游戏的核心算法。 3、性能 能够快速判断两图片是否能消除,并能在消除时进行画线操作。 隔一段时间,能够打乱顺序进行重新排列。 4、输人项 用户点击、时间条 5、输出项 消除匹配的图片 总结 通过这一学期的学习,我首次对Andorid系统的开发起源,发展过程、未来趋势以及应用方面进行了初步的文字性的了解,然后在一些参考文献的辅助下下载并搭建了用于amdorid开发的esclipes集成环境,并第一次建立运行简单程序。 随后更进一步学习了解了andorid系统中比较复杂的应用程序。 在对其主要文件进行分析后,在此基础上开始尝试写一下简单程序。 在对这一实际问题进行操作并解决一些问题后,对于andorid程序的编写有了更深一步的认识。 不仅增加了对于andorid系统的知识,更重要的是,通过学习提高了自身能力,在对一项新事物,从陌生到了解再到掌握,这些都是之前从未经历过的挑战。 通过这一学期的学习让我看清楚了自己需要什么,同时也让我吸取了愈多学习以及和人相处的经验,这将对我以后踏足社会,谋生里也有很好的借鉴和帮助作用。 今后,我会珍惜这些宝贵的经验,在人生的旅途中勇往直前,迎接时代的挑战. 参考文献 [1]高翔,何立军.JSP动态网站开发技术与实践.电子工业出版社2007年4月,第二版 [2]吴玉亮译.NetBeansIDE中文版用户指南机械工业出版社2006年3月,第一版 [3]赵松涛.SQLServer2000系统管理与应用开发2006年2月人民邮电出版 第一版 [4]孙卫琴.Tomcat与JavaWeb开发电子工业出版社2007年2月,第二版 [5]张慧英尹春霞《电脑编程技巧与维护》2010第10期-维普资讯网 信息工程学院 《Android手机软件开发实训》实践环节考核报告单 2011-2012学年度第一学期期末 排课编号: (2011-2012-1)-2005502-09419-1 批阅日期: 年 月 日 姓名 班级 学号 评分标准及 得分 评分标准 满分 得分 1、程序能正常运行 连连看项目必须实现游戏开始、重新开始、重新排序、转换主题、退出程序等最基本的功能。 实现最优路径选择,游戏的分值计算算法,按满分计算。 动态人物设计,要求设计的人物特点鲜明,能完成基本的动作,比如抬腿、转身、挥拳。 实现快速行走和跳跃,按满分计算。 自选题目,要求主题鲜明,有足够的动态效果,如涉及到3D内容并且运行正常,按满分计。 60 2、能正确回答教师关于知识点的提问 教师根据学生的学习情况和为完成的项目所编的程序,一般会问3个问题,每个问题5分。 15 3、代码规范 代码的规范性主要考察三个大方面: (1)凹凸缩进是否清楚地体现程序的结构; (2)注释是否足够,他人是否从注释中很容易分析出程序实现的功能; (3)标识符命名 15 4、有创新点 游戏设计主要是创意,有好的创意适当加分 5 5、题目难度 根据难易程度和实现的功能多少适当加分 5 考核成绩 任课教师签名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- android 连连 手机 游戏 开发 设计 说明书