完整版基于Android的五子棋游戏设计与实现毕业设计文档格式.docx
- 文档编号:17055100
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:18
- 大小:27.39KB
完整版基于Android的五子棋游戏设计与实现毕业设计文档格式.docx
《完整版基于Android的五子棋游戏设计与实现毕业设计文档格式.docx》由会员分享,可在线阅读,更多相关《完整版基于Android的五子棋游戏设计与实现毕业设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
同时Android采用了键盘形式的按键,可以完成更复杂的操作。
Android虽然基于Java,但是其虚拟机是基于寄存器的(这与普通的Java基于堆栈不同),速度得到很大的提升,这为Android平台上开发游戏提供了坚强的后盾。
本论文主要阐述以面向对象的程序开发语言eclipse为开发工具,基于智能手机Android之上设计一个五子棋游戏。
五子棋起源于中国古代的传统黑白棋种之一,它不仅能增强思维能力提高智力,而且富含哲理,有助于修身养性。
本系统是本系统中设定了人机对战和人人对战两种模式。
人机对战实现的是一些简单的算法,人人对战只是进行了输赢方的判定。
它与javame的五子棋设计有许多的不一样,Android本来就是全触摸的形式,而且操作非常简单。
关键词:
五子棋;
Android;
人工智能
TheFiveinaRowGameBasedonAndroid
Abstract
Mobilegamessincetheindustrywascalledafteratextmessage"
goldmine"
again.From2003to2010annualsalessurged62.4percentfromcompoundratefor.Cansee,mobilegameswillexperienceagoldenperiodofdevelopment.3Gphonedisplaysthepopularizationandperformanceimprovement,theexpansionofthephone'
sscreen,anda,solvethetraditionalmobilephoneindustry'
smanydrawbacks,mobileentertainmentapplicationswillbeafterPCentertainmentanotherimportantbusinessgrowth.MeanwhileAndroidalsoUSESakeyboardformsofbuttonsthatcandomorecomplexoperation.Androidthough,butitsbasedonaJavavirtualmachine(whichisbasedontheregisterwiththeordinaryJavastack-baseddifferent),speed,itgotalotofascensionfortheAndroidplatformgamesprovideastrongbacking.
Thispapermainlyexpoundstheobject-orientedprogramdevelopmentineclipseforlanguagedevelopmenttool,smartphoneAndroidbasedonabovedesignafiveinarowgame.GobangoriginatedinChinaancienttraditionalblackwhitekind,itnotonlycanenhanceoneofthinkingcapacity,improveinligenceandphilosophy,-machineagainstandeveryoneagainsttwopatterns.Therealizationman-machineagainstsomesimplealgorithm,everyonewasagainstjustwinthejudgementoftheparty.Itmanyaredissimilar,Androidistheentiretouchingformoriginally,moreoveroperatesissimple.
Keywords:
five-in-a-row;
android;
artificialinligence
目 录
1引言……………………………………………………………………………………………1
2概述……………………………………………………………………………………………2
2.1背景…………………………………………………………………………………………2
2.2课题来源……………………………………………………………………………………2
2.3课题研究现状及应用前景…………………………………………………………………3
3Android开发环境……………………………………………………………………………3
3.1Android开发环境变量配置………………………………………………………………3
3.1.1JDK的配置………………………………………………………………………………3
3.1.2Android开发插件的安装………………………………………………………………4
3.1.3AVD的创建………………………………………………………………………………5
4游戏相关技术…………………………………………………………………………………5
4.1游戏布局……………………………………………………………………………………5
4.1.1画盘线……………………………………………………………………………………5
4.1.2双缓冲技术画棋子………………………………………………………………………6
4.1.3在触摸处画棋子…………………………………………………………………………7
4.1.4newPoint方法将座标调整到对应的棋位上…………………………………………7
4.2人人对战…………………………………………………………………………………8
4.2.1设置谁走的标记…………………………………………………………………………8
4.2.2在触摸处下棋子…………………………………………………………………………9
4.2.3判断轮到谁下棋子………………………………………………………………………9
4.2.4玩家一下棋的方法………………………………………………………………………9
4.2.5玩家二下棋的方法……………………………………………………………………10
4.2.6实现判断输赢的方法…………………………………………………………………11
4.2.7提示游戏结束…………………………………………………………………………13
4.3人机对战…………………………………………………………………………………14
5游戏的实现…………………………………………………………………………………15
5.1游戏主界面………………………………………………………………………………15
5.2游戏帮助界面……………………………………………………………………………16
5.3五子棋介绍界面…………………………………………………………………………16
5.4游戏界面…………………………………………………………………………………17
5.5退出界面…………………………………………………………………………………17
6结论…………………………………………………………………………………………18
主要参考文献…………………………………………………………………………………19
致谢……………………………………………………………………………………………20
1引言
随着社会的发展,目前全球的手机用户数量已经超过了PC机的数量,而且手机的数量正在快速增长,其中智能手机所占的比例越来越大,特别是随着3G技术发展时代的到来,移动互联网将是一个巨大的市场,许多国际大公司以及国内的大公司都在抢占智能手机领域的市场份额。
这期间,出现的智能手机可谓五花八门,种类繁多,但是真正好用,受用户喜爱的智能手机并不多。
当互联网巨头Google宣布依靠android系统进军手机操作系统领域之后,三年来Android一路高歌,快速的获得众多用户和厂商的认同。
随着Android手机终端的逐渐热销,Android也引起众多手机应用程序开发商的关注,Android的出现带给了智能手机领域更多的机遇和挑战,由于Android基于Linux内核且具有开源、免费的特性,它迅速得到广大爱好者以及许多厂商的支持,基于Android所开发的手机游戏拥有巨大潜力已成为行业共识。
3G的普及、手机显示性能的提高、手机屏幕的扩大和较高的分辨率,解决了传统手机行业的很多弊端,同时Android也采用了键盘形式的按键,可以完成更复杂的操作。
随着移动开发技术的不断升级和终端设备成本的下降,近年来,手机在普通消费人群中得到了极大的普及。
凭借其便于携带、沟通迅捷、功能多样、私密性强等独有优势,手机已经成为普通民众不可替代的随身工具。
其益智、趣味和休闲的特点迎合了消费者的娱乐需要,手机游戏的开发推广已经成为手机生产商和运营商重要的业务增长点,游戏软件产业价值不断提升。
手机游戏是手机的一种高附加值操作软件,游戏编程是手机软件编程的重要组成,同时也持续推动手机软件技术升级进步。
中华民族是一个有着几千年悠久历史和璀璨文化的国家,而棋类娱乐却早已突破了纯游戏的范畴而成为中国传统文化的一个分支。
五子棋起源于中国古代的传统黑白棋种之一,现代五子棋日文称之为“连珠”,英译为Renju,英文称之为“Gobang”或“FIR”(FiveinaRow的缩写),中文亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋的棋文化源渊流长,具有东方的神秘和西方的直观,是中西文化的交流点,是古今哲理的结晶。
现在人们压力日益增大,需要劳逸结合才能获得更高的工作效率,工作之余的娱乐对每一个人来说都是必不可少的。
五子棋这种娱乐方式简单易学又具有深奥的技巧,非常富有趣味性和消遣性。
在经过不断发展后,五子棋已经成为棋盘娱乐的一个重要的组成部分,它能够增强思维能力、开发智力,是人们休闲娱乐的不错选择。
近来随着计算机和手机的快速发展,各种各样的游戏层出不穷,使得人们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。
现在的五子棋游戏软件基本上可以分为两类:
一类是网络五子棋游戏软件,另一类是单机版五子棋游戏软件。
很少有手机版的五子棋游戏软件。
为了满足手机人群的需求,本文设计了这款手机版的五子棋游戏软件,可以供人们闲暇时间随时随地地进行娱乐,提高自己的五子棋水平,实用性强。
2概述
2.1背景
在我们的生活中有许多的游戏,但是游戏不同,它也会给玩家带来不同的感受和生活理念。
游戏是我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展。
游戏平台是经过从游戏机到电视游戏,然后从到pc游戏,到手机游戏,中间经历了很多的技术的更新和变革。
但随着新技术的发展和我们生活水平质量的提高,手机开始逐渐变为普及,因为手机是非常小巧便捷的,而且方便的特性成为我们日常生活中必备通讯工具。
而基于手机平台的游戏也就拥有的市场空间是巨大的,也因随着3g的开通和应用,手机游戏必然会迎来新的一轮游戏热潮!
2.2课题来源
现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。
现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。
除了语音数据以外,它们还可以发送和接收其它类型的数据。
所以这样的网络游戏也可以在手机上实现。
短信类游戏就好像“虚拟宠物”那样。
短信游戏是通过玩家和游戏服务商通过短信中的文字的内容来交流,达到进行游戏的目的的一种文字游戏。
由于短信游戏的整个游戏过程都是通过文字来表达,造成短信游戏的娱乐性较差。
但是短信游戏却是兼容性最好的手机游戏之一。
只要您的手机可以发短信,您就可以畅快的享受短信游戏给您带来的快乐了。
图形类游戏更接近我们常说的“电视游戏”,玩家通过动画的形式来发展情节进行游戏。
由于游戏采用了更为直观且更为精美的画面直接表现,因此图形类游戏的游戏性和代入感往往较文字类游戏高。
因此广受玩家们的欢迎。
嵌入式游戏是一种将游戏程序预先固化在手机的芯片中的游戏。
由于这种游戏的所有数据都是预先固化在手机芯片中的,因此这种游戏是无法进行任何修改的。
也就是说,您不能更换其它游戏的,只能玩您手机中已经存在的娱乐游戏,而且您也不能将它们删除。
手机在网络游戏行业在多年的技术经验与运营经验的积累与总结之后,到了2009年迫不及待的需要创新出新的游戏模式和崭新的运营模式来推动手机游戏市场的爆发和发展。
其中比较吸引人们的是手机的休闲类的游戏。
应该可以说它是与PC网络游戏完全的脱离开了,而且充分发挥了自身的优势手机终端。
休闲类的游戏恰巧与之相反,只需要很少的网络流量的网络环境,通过少量多次的游戏形式带给玩家流畅的游戏体验满足玩家瞬间提升的快感,但是同时却很难具有长期的“沉迷”性。
本题目是基于Android平台开发的一个小型的程序。
其实都差不多,在有JAVA的智能手机上都可以运行。
其实手机是我们生活中不可缺少的工具,这些小游戏可以带给我们快乐和放松我们的心情。
无论什么样手机,我想买起来的时候上面就有一些它自带的各种小游戏,其中有一个独特的小游戏也是非常重要的。
2.3课题研究现状及前景
在我们的生活中有许多的游戏,但是不同的游戏,它也会给玩家带来不同的感受和生活理念。
游戏可以说我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展即游戏周边。
而基于手机平台的游戏也就拥有的市场空间是巨大的,随着3G的开通和应用,手机游戏必然会迎来新的一轮游戏热潮
现在的手机的已经不是以往那种传统意义上的手机了,称之为智能机再合适不过了,它不仅具备打电话发短信等传统功能而且对于计算机可以完成的大部分工作也可以完全胜任。
智能手机能够高速发送和接收数字数据,除了语音数据以外,它们还可以发送和接收其它类型的数据,如是图像等。
所以网络游戏也是完全可以在手机上实现的。
其中比较吸引人们的是手机上休闲类的游戏。
应该可以说它是与PC网络游戏完全的脱离开了,而且充分发挥了自身的优势。
休闲类的游戏只需要很少的网络流量的网络环境,通过少量多次的游戏形式带给玩家流畅的游戏体验满足玩家瞬间提升的快感,但是同时却很难具有长期的“沉迷”性,可以说是有百利而无一害。
本次设计是基于Android平台开发的一个小型的五子棋游戏程序。
五子棋游戏的简单易学,老少皆宜这些特性与智能手机的移动方便,大范围普及等特点结合起来,必定会大放光芒,广受欢迎的。
也真是由于上文所述的各种优势,导致手机五子棋游戏被越来越多的人研究学习,可以说程序虽小但五味俱全,作为入门学习是再合适不过的了。
网络上流传的五子棋游戏界面精美,风格各异,实在是已经达到巅峰之作,作者在此并不想去做那锦上添花之举,所以对于本次设计论文有一个明确的定位,在完成五子棋游戏的基本对战功能的设计同时不再做各种附加功能的加强而是对其中所涉及的算法进行更加深入的学习。
3Android开发环境
本章将主要介绍如何构建Android开发环境,包括获取AndroidSDK、Eclipse以及进行AndroidEclipse插件设置等。
3.1Android开发环境变量配置
3.1.1JDK的配置
JDK的配置并没有什么值得特别叙述的东西,在此主要阐述下JDK环境变量的配置问题。
首先右键点击我的电脑->
属性->
高级系统设置,点击下面的环境变量,在下面的“系统变量”处选择新建,在变量名处输入JAVA_HOME在变量值输入JDK路径,确定后再新建一个变量名为Classpath,变量值为%JAVA_HOME%librt.jar;
%JAV--A_HOME%libtools.jar的变量,确定后找到PATH的变量,双击或点击编辑,在变量值最前面加上%JAVA_HOME%bin;
最后点击确定按钮即可。
如图3-1所示。
图3-1JDK环境变量设置
3.1.2Android开发插件的安装
打开Eclipse,在菜单栏上选择_point)
2将图片画到Bitmap(内存缓冲区)的过程
为指定颜色对应的图片创建bitmap对象并放入到数组中
publicvoidfillPointArrays(intcolor,Drawabledrawable){
创建Bitmap内存缓冲区(申请内存空间)
Bitmapbitmap=Bitmap.createBitmap(POINT_SIZE,POINT_SIZE,
Bitmap.Config.ARGB_8888);
创建画布、并设置将内容画到上面创建的Bitmap上
Canvascanvas=newCanvas(bitmap);
设置资源画的范围大小
drawable.setBounds(0,0,POINT_SIZE,POINT_SIZE);
将图像资源画到缓冲区中
drawable.draw(canvas);
把缓存区引用存进数组中(注意将下标定义以颜色命名的常量)
bitmaps[color]=bitmap;
}
在onDraw方法将其在随意位置画出
canvas.drawBitmap(bitmaps[color_index],0,0,paint);
4.1.3在触摸处画棋子
通过onTouchEvent方法获得触摸位置座标,以此座标创建一个棋子,触发onDraw方法,把刚才的棋子画出来
publicbooleanonTouchEvent(MotionEventevent){
Pointpoint=newPoint(event.getX(),event.getY());
刷新一下棋盘,触发onDraw函数
refressCanvas();
}
4.1.4newPoint方法将此座标调整到对应的棋位上(以手工画图的方式确定棋子四周的范围的计算方)
privatePointnewPoint(Floatx,Floaty){
是否在棋盘线以外
booleanisOutsideChessboard=true;
Pointp=newPoint(0,0);
for(inti=0;
i<
=maxX;
i++){
if(((i-1)*POINT_SIZE+xOffset+POINT_SIZE2)<
=x
&
&
x<
(i*POINT_SIZE+xOffset+POINT_SIZE2)){
p.setX(i);
找到横座标,证明不在棋盘线以外
isOutsideChessboard=false;
break;
}
如果横坐标在棋盘线外,返回空,不下棋子
if(isOutsideChessboard){
returnnull;
重置标志
isOutsideChessboard=true;
=maxY;
if(((i-1)*POINT_SIZE+yOffset+POINT_SIZE2)<
=y
y<
(i*POINT_SIZE+yOffset+POINT_SIZE2)){
p.setY(i);
找到纵座标,也不在棋盘线外
纵标在棋盘线外
横座标和纵座标都不在棋盘线外
returnp;
4.2人人对战
4.2.1设置标记--whoRun
表示应该轮到谁下棋,1为玩家1下,2为玩家2下,-1表示玩家正在下
默认第一个玩家先行
privateintwhoRun=1;
privatevoidsetPlayer1Run(){
whoRun=1;
是否轮到人类玩家下子
privatebooleanisPlayer1Run(){
returnwhoRun==1;
privatebooleanisPlayer2Run(){
returnwhoRun==2;
privatevoidsetPlayer2Run(){
whoRun=2;
正在下的过程中,主是因为电脑有较长的计算时间,这期间一定不可以再响应触摸事件
privatevoidsetOnProcessing(){
whoRun=-1;
是否正在下某一步棋过程中,主是电脑下棋时需要较长的计算时间,这期间一定不可以再响应触摸事件
privatebooleanisProcessing(){
returnwhoRun==-1;
4.2.2改写onTouchEvent方法,监听触摸事件,在触摸处下棋子
处理触摸事件
只处理开局后的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 Android 五子棋 游戏 设计 实现 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)