最新Android连连看课程设计.docx
《最新Android连连看课程设计.docx》由会员分享,可在线阅读,更多相关《最新Android连连看课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
最新Android连连看课程设计
Android连连看课程设计
«SkipRecordIf...»
滨江学院
Android课程设计
题目连连看
院系计算机系
专业网络工程
学生姓名吴培培
学号20112346060
二O一四年六月一日
Android连连看课程设计
吴培培
一.概论
1.1Android简介
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
Android操作系统最初由AndyRubin开发,主要支持手机。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。
随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
2013年09月24日谷歌开发的操作系统Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。
但运营收入不及iOS。
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
Android一词最早出现于法国作家利尔亚当(AugusteVilliersdel'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'èvefuture)中。
他将外表像人的机器起名为Android。
Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号,于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。
其中的文字使用了Ascender公司专门制作的称之为“Droid”的字体。
Android是一个全身绿色的机器人,绿色也是Android的标志。
颜色采用了PMS376C和RGB中十六进制的#A4C639来绘制,这是Android操作系统的品牌象徵。
有时候,它们还会使用纯文字的Logo。
1.2作品简介
网络小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的。
本人在此次的课程设计中做了一个安卓小游戏:
连连看。
连连看是常见于手机游戏与网页游戏中,它的规则很简单,玩家只需将两个相同图案的图案用不多于三根的直线连接起来,就可以成功将一对图案消除,消除所有图案后游戏结束。
此外,本游戏有多重关卡,让玩家能不断挑战自己。
如果游戏中按了home键或则其他按键切换到了其他的activity中,则自动暂停游戏,再次进入可以继续玩。
并且游戏还具有帮助功能,让玩家能够有更好的体验。
1.3背景
游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。
“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。
“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。
其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。
并于2004年,取得了国家版权局的计算机软件著作权登记证书。
随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。
如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。
2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。
“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。
二.设计
2.1程序系统的结构
连连看游戏结构如下:
2.2界面设计图
2.2.1游戏界面
2.2.2游戏界面,不同关卡,不同规则设定
2.2.3过关成功界面
2.2.4过关失败
2.2.5暂停
2.2.5帮助
三.详细设计
主要有三个类:
classGameView//游戏视图类,处理游戏中的情况
classGameController//刷新视图,处理游戏中的消息
classLlkGame//设计连连看activity类
3.1核心算法:
连通算法:
直连型,一折型,两折型
3.1.1直连型
直连型分为横向检测和纵向检测
(1)横向检测
AB间的值是否为零
A
B
(2)纵向检测
AB间的值是否为零
A
B
3.1.2一折型
如果一个拐角能连通的话,则必须存在C或D。
期中C点的横坐标和B点相同,纵坐标与A相同,D的横坐标与A相同,纵坐标与B相同。
A
C
D
B
3.1.3两折型
判断是否是两折型的算法需要做两个方向上的扫描:
水平扫描和垂直扫描。
以水平扫描为例:
首先,要找到A往左右可以延伸的范围;然后,对于每个扫描点寻找与B的“一折型”连通。
A
B
3.2功能描述
此连连看具有多个功能。
(1)计时功能。
不通关卡中时间限制不同,并且拥有倒计时的功能。
(2)帮助功能。
能够提示玩家消除相同方块
(3)暂停功能。
能够暂停游戏,并且退出游戏后再次进入游戏从上次的进度继续。
(4)设定不同难度兵记录关数。
不通关卡的难度不相同。
3.3部分关键核心代码
privatebooleanlink(Pointp1,Pointp2){
if(p1.equals(p2)){
returnfalse;
}
path.clear();
if(map[p1.x][p1.y]==map[p2.x][p2.y]){
if(linkD(p1,p2)){
path.add(p1);
path.add(p2);
m_bAddTime=true;
returntrue;
}
Pointp=newPoint(p1.x,p2.y);
if(map[p.x][p.y]==0){
if(linkD(p1,p)&&linkD(p,p2)){
path.add(p1);
path.add(p);
path.add(p2);
m_bAddTime=true;
returntrue;
}
}
p=newPoint(p2.x,p1.y);
if(map[p.x][p.y]==0){
if(linkD(p1,p)&&linkD(p,p2)){
path.add(p1);
path.add(p);
path.add(p2);
m_bAddTime=true;
returntrue;
}
}
expandH(p1,p1E);
expandH(p2,p2E);
for(Pointpt1:
p1E){
for(Pointpt2:
p2E){
if(pt1.x==pt2.x){
if(linkD(pt1,pt2)){
path.add(p1);
path.add(pt1);
path.add(pt2);
path.add(p2);
m_bAddTime=true;
returntrue;
}
}
}
}
expandV(p1,p1E);
expandV(p2,p2E);
for(Pointpt1:
p1E){
for(Pointpt2:
p2E){
if(pt1.y==pt2.y){
if(linkD(pt1,pt2)){
path.add(p1);
path.add(pt1);
path.add(pt2);
path.add(p2);
m_bAddTime=true;
returntrue;
}
}
}
}
returnfalse;
}
returnfalse;
}
帮助功能的实现:
publicvoidautoErase(){
if(help==0){
return;
}
help--;
die();
ListI=gameView.getSelected();
I.clear();
I.add(path.get(0));
I.add(path.get(path.size()-1));
gameView.drawLine(path.toArray(newPoint[]{}));
redrawHandler.sleep(500);
}
}
四.总结
此次课程设计所做的程序基本实现预期功能,运行稳定,界面简洁大方,操作简单,容易上手。
本程序还可以在许多地方进行扩展,比如设置道具,增加积分模式,配备背景音乐等等。
通过此次课程设计,我掌握了如何制作一个游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础,同时也通过本程序将三年来所学的专业知识和其他方面的知识融入到实际应用中。
本次设计也是对学生在学习了JAVA相关的基础知识以后的一次全面的综合测试,加深对Android设计思想和方法的理解及掌握。
参考文献:
【1】盖索林.GoogleAndroid开发入门指南人民邮电出版社.2009.11
【2】罗杰等著Android应用开发人民邮电出版社.2010
【3】张利国,代闻,龚海平.Android移动开发案例详解人民邮电出版社.2010-02
【4】郭宏志.Android应用开发详解电子工厂出版社.2010.6