Android黑白棋游戏的设计与开发.docx
- 文档编号:25221324
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:17
- 大小:78.81KB
Android黑白棋游戏的设计与开发.docx
《Android黑白棋游戏的设计与开发.docx》由会员分享,可在线阅读,更多相关《Android黑白棋游戏的设计与开发.docx(17页珍藏版)》请在冰豆网上搜索。
Android黑白棋游戏的设计与开发
Android黑白棋游戏的设计与开发
毕业设计
基于安卓系统的黑白棋游戏的设计与实现
学院:
专业:
学号:
学生姓名:
指导教师:
2016.4.18
黑白棋游戏的设计与实现
摘要随着技术的发展,手机越来越普遍,安卓智能平台越来越完善,成为手机的主流系统。
千元智能机的出世,智能机替代传统功能机的趋势将日益明显,安卓系统则占领了主导地位。
该文描述了在安卓模拟器下实现实现了黑白棋游戏的功能。
关键词安卓;安卓系统;游戏;黑白棋;安卓开发
Thedesignandimplementationoftheblackandwhitechessgame
Abstractwiththedevelopmentoftechnology,mobilephonesarebecomingmoreandmorecommon,Androidintelligentplatformisbecomingmoreandmoreperfect,andbecomethemainstreamofthemobilephonesystem.Thousandsofintelligentmachineswasborn,intelligentmachinesreplacethetraditionalfeaturesofthetrendwillbecomeincreasinglyapparent,Androidsystemhasoccupiedthedominantposition.ThispaperdescribestherealizationofthefunctionoftheblackandwhitechessgameinAndroidsimulator.
KeywordsAndroid;Androidsystem;game;blackandwhitechess;Androiddevelopment
、八
前
2007年11月,Google推出了一种由操作系统,中间件,用户友好应用软件组成的智能手机平台安卓。
安卓推出以来就广受关注,而且安卓还延续着LINUX的开放精神,开放了源代码,这就意味着所有的程序开发员都可以按照自己的喜好通过安卓开发平台来开发出自己的应用程序。
根据市场调研机构IDC公布的数据。
2015年全球智能手机出货量再创记录达14.3亿部,同比增长10.1%。
2015年Q4期间全球智能手机出货量达到了3.995亿,同比增长5.7%。
1.绪论
1.1开发背景
Android(['?
ndr?
d])是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导。
Android系统最初由安迪・鲁宾(AndyRubin)制作,最初主要支持手机。
2005年8月17日被Google收购。
2007年11月5日,Google与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟
(OpenHandsetAllianee)来共同研发改良Android系统并生产搭载Android的智慧型手机,并逐渐拓展到平板电脑及其他领域上。
随后,Google以Apache免费开源许可证的授
Android黑白棋游戏的设计与开发
权方式,发布了Android的源代码。
[1]
2013年5月16日,在I/O大会上,谷歌推出新的Android开发环境——AndroidStudio,并对开发者控制台进行了改进,增加了五个新的功能[6]。
AndroidStudio是谷歌推出了新的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。
谷歌对开发者控制台进行了改进,增加了五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、用版测试和阶段性展示。
1、优化小贴士:
在主体中打开你的应用,点击小贴士,会得到这样的建议:
为你的应用开发平板电脑版本。
2、应用翻译服务:
允许开发者直接在开发主体中获得专业的翻译。
上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。
3、推荐跟踪:
允许开发者找出最有效的广告
4、营收曲线图:
向开发者展示其应用营收,以国家进行划分
5、试用版测试和阶段性展示:
开发者可以对应用进行测试,然后向测试用户推出,测
试结果不会对外公布。
当一个版本的测试结束,开发者可以向特定比例用户推出[7]。
AndroidStudio这款开发工具被首次公布,这也是为了方便开发者基于Android开发。
首先解决的一个问题是多分辨率。
Android设备拥有大量不同尺寸的屏幕和分辨率,根据新的Studio,开发者可以很方便的调整在各个分辨率设备上的应用。
同时Studio还解决语言问题,多语言版本(但是没有中文版本)、支持翻译都让开发者更适应全球开发环境。
Studio还提供收入记录功能。
最大的改变在于Beta测试的功能。
Studio提供了BetaTesting,可以让开发者很方便试运行⑸。
2015年5月29日,在谷歌I/O开发者大会上,谷歌发布AndroidStudio1.3版,支持C++编辑和查错功能。
AndroidStudio1.3版开发码代码变得更加容易,速度提升,而且支持C++编辑和查错功能[8]。
1.2软件特色
黑白棋,游戏在8x8的棋盘上的中心位置开始,呈对角关系先放入不同颜色各两枚棋子,然后开始轮流下子,两子中间夹住的棋子都是自己的棋子,最后棋盘全部占满或者双方都不能吃子时游戏结束,棋子多的一方胜利。
这款app包含经典黑白棋双人对战模式,即棋盘是8X8共64格。
游戏内容包含:
1、当前棋子数目显示,所用时间同步显示;
2、落子位置正误判断;
3、悔棋功能,但每个选手只能悔棋一次;
4、音乐伴随功能,可选择开关;
5、落子提示功能,不限次数;
6、输赢判别,游戏有三种结果,平局,黑棋赢,白棋赢;
7、可以随时开始新的游戏。
1.3系统介绍
安卓系统基于LINUX,可以兼容鼠标键盘,触摸输入等多种输入方式,全面应用与触屏只能移动设备之中。
ADT(AndroidDevelopmentTools的简称),是EclipseIDE下的一个安卓系统开发插件。
ADT拓展了Eclipse工具的特色,可以让开发者迅速建立安卓项目,创建界面,加上安卓API框架并使用虚拟机调试程序。
所以ADT是一个很好的开发工具。
安卓系统基于LINUX,可以兼容鼠标键盘,触摸输入等多种输入方式,全面应用与触屏只能移动设备之中。
1.4操作系统概述
操作系统名称
代表厂家
特点
备注
Symbian
摩托罗拉、西门子、
诺基亚
实时性、多任务的纯
32位操作系统具有
功耗低、内存占用少
等特点
三个系统设计的原则
是:
用户数据的完整
性和安全性。
WinCE
微软从计算机到嵌入
式系统
四色灰阶、2MB内存、
44MHZ处理器
精简的Windows95可以使用Windows平
台上的编程工具
RIM
BlackBerry的经典
设计
手机和电子邮件的融
合
宽大的屏幕和便于输
入的QWERTY盘,为
拇指输入而优化
iPhoneOS
苹果公司为iPhone开发iPhone、iPodtouch以及iPad
源码模式:
圭寸闭源码+
开放源码组件
系统架构分为四个层次:
内核操作系统层,内核服务层、媒体层、
可轻触层系统操作。
占用大概240MB勺内
存空间
PalmOS
3Com公司的产品
良好的节能功能。
合理的内存管理PalmOS占有非常小的内存。
数据以数据库的形式存在
专用于掌上电脑
Android
谷歌、MOTOL高通、
TI、HTC中国移动等全球知名芯片厂商,制造商、运营商
开放性、较为成熟的
Linux系统、较强大
的可移植性和强大的
操作性
完全免费对用户开放
[2]基于Android黑白棋游戏的设计与实现
2.Android开发平台
2.1Android平台具有以下优点:
(1)平台的开放性允许任何厂商加入,使其拥有更多的开发者,新颖的应用功能及创意可以不断地实现。
(2)脱离了运营商的束缚,让手机更加贴近互联网。
(3)应用程序都是基于java开发的,java具有一次编写、到处运行的跨平台性。
能够实现在所有的Android设备中运行,真正做到了硬件的无关性,降低了开发者的负担。
(4)提供了标准的API和SDK开发包,手机厂商可以根据需要自行开发或者使用自己已有的程序,从而打造出富有特色的Android平台。
2.2Android体系结构
Android平台构架从上至下包含五个部分:
应用程序、应用框架、开发库、运行环境
以及LINUX内核
(1)应用程序
Android同一系列核心应用程序包一起发布,该程序包包括email,SMS短消息程序、
日历、联系人管理程序等。
所有的应用程序都是Java语言编写的。
(2)应用框架
应用框架是进行Android开发的基础。
应用程序框架包含了视图系统、内容提供器、
Android黑白棋游戏的设计与开发
窗口管理器、活动管理器、通知管理器、资源管理器、电话管理器和保管管理器9部
分。
(3)开发库
Android包含一套C/C++开发库,被应用于Android系统的各种组件中
(4)运行环境
Android虽采用Java程序语言来编写程序,但是不使用J2ME
2.3无网络环境配置Android开发环境
1.JDK安装配置
1)安装Java的JDK至默认路径,需要大概300M的空间,安装完成后完成环境变量的配置。
2)配置系统环境变量,否则java编译器无法工作
打开:
我的电脑一控制面板一系统属性一高级一环境变量,对话框下半部分系统变量中,新增以下两个变量
变量名:
JAVA_HOME
变量值:
D:
ProgramFiles\java\jdk1.70_04
变量名:
CLASSPATH
变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
修改一下变量:
变量名:
将“%JAVA_HOME%\b”添加在原变量之前。
配置完以后在ms-dos窗口执行命令java-version,看到如下结果说明java环境配置正
[4]
C:
\Ussrs\Admini3tTatoT^java-verEianjavaversion&0一91"
Java.(TM)SBRuntimeEnvironment(build1.,8.
JavaHctSpoi(TH)ServerVF(build25,9l_b14,mixedmode)
2.3功能介绍
1主界面显示功能模块
显示应用的主界面图,包含图标,复选框和按钮,让用户在进入游戏前浏览;
2游戏实现功能模块
包含8X8的64格,游戏的棋子就放置在每个小格子内;每当用户点击方格时,如果满足落子条件,屏幕上将会显示此时落子方的棋子一枚,并将满足条件的敌方棋子变为己方棋子显示;
3声音开关功能模块
可以通过点按复选框来开启或关闭游戏音乐;
4当前游戏状态功能模块
显示当前落子方的棋子颜色,还有黑色棋子的数目,白色棋子的数目和实时的所用时间;
5悔棋功能模块
即撤销上一步落子的行为,但每个选手只能有一次撤销机会;
6提示功能模块
如果选手不知道下一步落子于何处,可以使用提示功能,该功能可以分析当前的棋局,预测下一步落子的所有可行位置,并且使用半透明棋子标记;
7开始新游戏功能模块,即重新开始新的一局游戏;
三、页面实现
3.1OnCreate程序运行初始化
安卓的界面定义使用的是xml文档进行定义。
主页面关联xml布局定义的界面是调用
setContentView()函数实现的。
setContentView()的位置应该在该界面onCreate函数之中,初始化整个界面。
调用R文件中的分配地址可以将主界面配置成为预想的界面配置。
R文件类只要是为资源文件分配地址和固定标识,这个过程是编译器自动完成的。
引用目录下layout目录下的主页面布局xml。
这是所有界面通用的方法。
⑻
3.2游戏界面
①应用开始界面
Sou'rii
②游戏运行界面
代码如下
privatevoidinitChessBoard(){
for(inty=0;y<10;y++){
for(intx=0;x<10;x++){
if(x==0||x==9||y==0||y==9){
cardsMap[x][y]=newCard(getContext());cardsMap[x][y].setNum(3);
}
}
}
setOnTouchListener(
newView.OnTouchListener(){
intxinty
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
if(event.getAction()==MotionEvent.ACTION_DO)W{N
x=(int)event.getX();
y=(int)event.getY();
8;
int
row=(int)Math.floor(y/length)+1;
int
colu=(int)Math.floor(x/length)+1;
(row<9&&colu<9){
int[]temp
isValid(colu,
row,
current_color);
intlength=Math.min(getWidth(),getHeight())/
if(temp!
=null){
Android黑白棋游戏的设计与开发
getSituation();
blackCount=0;
whiteCount=0;
Game.
getGam(e).setRetractCount(0);
Game.
getGam(e).setNotfirstStep(true);
for(inty=1;y<=8;y++){
for(intx=1;x<=8;x++){
//对棋盘进行刷新
cardsMap[x][y].setNum(temp[10
y+x]);
switch(temp[10*y+x]){case1:
blackCount++;break;
case2:
whiteCount++;break;
default:
break;
}
}
emptyCount=64-blackCount-whiteCount;
Gameg.etGam(e).setTvBlackCount(blackCount);
Gameg.etGam(e).setTvWhiteCount(whiteCount);
load();
current_color=3-current_color;
Gameg.etGam(e).setIvCurrentTurn(current_color);
hint();
if(pass(current_color)){
AlertDialog.Builderbuilder=newAlertDialog.Builder(getContext());builder.setMessage("无效位置!
"+
"\n"+"请将棋子放置在有效位置!
");
builder.setView(Game.getGam(e).getLlDialog(5));
builder.setPositiveButton("好的",
@Override
public
onClick(DialogInterfacedialog,
intwhich){
passTimes++;
current_color
current_color;
hint();
newDialogInterface.OnClickListener(){
void
current_color);
Gameg.etGam(e).setIvCurrentTurn(
dialog.dismiss();
}
});
}else{passTimes=0;
}
if(emptyCount==0||passTimes>1){intwiner;
if(blackCount>whiteCount){
winer=1;
elseif(blackCount winer=2; }else{winer=0; } AlertDialog.Builder builder =new AlertDialog.Builder(getContext()); builder.setMessage( "游戏结束! "+ "\n"+"你想要开始新的游戏吗? ");builder.setView(Game.getGam(e).getLlDialog(winer)); builder.setPositiveButton("是的",newDialogInterface.OnClickListener(){ @Override publicvoidonClick(DialogInterfacedialog,intwhich){ startNewGame(); dialog.dismiss(); } }); builder.setNegativeButton( I! 不想", public void newDialogInterface.OnClickListener(){ @Override intwhich){ onClick(DialogInterfacedialog, dialog.dismiss(); }); builder.create().show(); else Toast. makeTex(tgetContext(),"位置无效! ",Toast. LENGTH_SHO).sRhTow(); returntrue }); Android黑白棋游戏的设计与开发 4.总结与展望 本文开发的黑白棋游戏主要的特色在于简便易操作,其优点如下: 1直观而简单,更有助于开发儿童智力。 2具有悔棋、提示与游戏进行中开始新游戏等功能。 3、附带有背景音乐,可以便捷的开关背景音乐。 本软件较为简单还有很多不足: 例如: 1软件单程运行,主线程压力较大。 相比于专业的安卓游戏还有一定的差距。 2、不能进行人机对战,只能双人对战,这个问题有待改进。 3、本软件的结构较为简单,所展现的主要Activity界面数量较少,功能与市场上的棋牌游戏相比相对较少。 4、没有记忆功能,一旦退出之前的游戏记录将被清除。 5、游戏过程相对简单、单调,还有带改进。 结论 通过这几个星期的学习,我对Android黑白棋游戏的设计与实现已成功完成,此次的 关于Android游戏的设计使我学习到了很多的东西,也使我对于安卓更加感兴趣,而且发现自己有很多的缺陷,还需要日后去不断改进。 参考文献 [1]XX百科"Android(Google公司开发的操作系统)” [2]杨潇亮.基于Android计算器的设计与实现 [3]张梁.安卓系统下的备忘录开发与研究 [4]XX百科“环境变量” ⑸XX百科“AndroidStudio” ⑹谷歌推新开发环境AndroidStudio增加五大功能 [7]【谷歌I/O大会】发布开发神器AndroidStudio [8]谷歌发布AndroidStudio1.3版.网 Android黑白棋游戏的设计与开发致谢在大学的求学生涯中,得到师长亲友的大力支持。 走的辛苦却也收获满囊,在论文即将完结之际,思绪万千,心情久久不能平静。 伟人,名人为我所崇拜,可是我更急切地要把我的敬意严谨,学识渊博,思想深邃,事业雄阔,为我营造了一种良好的精神氛围。 授人以渔不容易授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想理念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题的选定到论文写作的指导,经由您细心的点播再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村。 人生的道路有许多坎坷,不是一条通往光明之路,有痛苦,有伤心有无助,也有面对一切所不能忍受的,这就是生活。 但生活中确实有许多美好的东西,也许它正是你所需要的那种生活方式。 千万不要放弃生活,你放弃了它,生活也就放弃了你,人生贵在的是感受,会感受才有幸福的生活,在生活中如果你感受的多了,哪你才会感受到生活中的美好,你才会知道你在前世所选择的是今生最正确的人生路。 2016年04月于河南师范大学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 白棋 游戏 设计 开发