目 录
第一章:绪论 1
1.1智能手机与Android系统的发展历程 1
1.1.1 智能手机 1
1.1.2 Android系统基本情况介绍 2
1.2课题现状及应用前景 3
1.2.1 五子棋简介 3
1.2.2 课题现状及应用前景 3
第二章:开发环境的搭建 5
2.1 系统开发环境 5
2.2 系统开发环境的搭建 5
2.2.1 JDK的配置 5
2.2.2 Android开发插件的安装 6
2.2.3 AVD的创建 8
第三章:系统需求分析与概要设计 10
3.1 系统的需求分析 10
3.2 系统的概要设计 10
3.2.1 游戏界面布局 11
3.2.2 人机对战部分的核心算法的开发 12
3.2.3 三种对战模式的胜负判定 12
3.2.4 联机对战部分,机子建立连接和数据接收发送功能的实现。 13
第四章:系统详细设计 14
4.1 游戏界面布局的具体实现 14
4.1.1 棋盘和棋子的描述 15
4.2 人机对战部分的核心算法的开发 17
4.2.1 搜索算法 17
4.2.2 评值算法 19
4.2.3 算法核心类 20
4.3 联网对战模拟器建立连接和数据接收发送功能的实现 30
4.4 五子棋的胜负判定算法 31
第五章:系统运行演示效果 34
5.1 单人对战演示 34
5.2 双人对战演示 36
5.3 联网对战演示 36
第六章:结束语 39
致 谢 40
参考文献 41
附录A 五子棋术语解释 42
附录B 极大极小值算法 43
附录C 胜负判定算法代码 44
第三章:系统需求分析与概要设计
本次设计是基于Android系统的五子棋游戏,作为一款游戏暂且不管他的大小和好坏,拥有一个进行操作的界面是必须的,可以按照规则进行游戏也是必须的,当然一些丰富游戏功能方便用户的举措也是必须的,完成情况如何完全看设计者的功力了,本次论文自然无法和市场上的产品相比但是也有许多令人期待的东西的。
3.1 系统的需求分析

  1. 基于PC的虚拟移动终端环境的搭建:智能终端的操作系统各异,本次设计在PC上虚拟移动终端环境,选择了使用面广、使用者众的Android平台;
  2. 虚拟平台开发环境的选取:智能终端支持的游戏以java居多,我们在虚拟环境中选取J2ME作为开发支持平台,利用java语言进行开发;对java语言支持较好的IDE是Eclipse;
  3. 游戏实现中的资源约束考虑:移动终端由于受其本身资源(主要包括处理器、存储器、网络带宽等)的约束,对应用程序的支持与PC环境差异较大,对数据结构和算法等要求较高。所以有效的算法模型的提取对应用程序的效率至关重要;
  4. 对战功能实现:对战包括人机对战、人人对战和联机对战。
    5、加入声音等个性化的元素,实现退出等功能模块。
    3.2 系统的概要设计
    在设计游戏的过程中,首先调用一个开始欢迎界面,用户点击MENU键进入主菜单来选择游戏中的不同的功能。在游戏中作者设计了四个按钮。分别是:开始游戏、双人游戏、联机对战和退出。用户选择开始游戏进入的是单人游戏对战电脑AI,选择双人游戏可以两个用户在一台模拟器机上对战,选择联机对战可以两个用户在两个模拟器上对战,用户选择三种对战方式中的任意一种在胜负判定算法判定出游戏结束后可以重新选择MENU或者退出,选择MENU可开始新的游戏,当然若选择退出则是结束并关闭游戏了。游戏具体的功能流程图,如图3-1

    图3-1 系统功能图
    3.2.1 游戏界面布局
    一个游戏先不管内容如何,他给人的第一印象就可以让人决定是否玩它,所以一个好的游戏界面对于一个游戏程序来说是非常重要的。
    游戏界面的布置包括游戏模式选择界面、棋盘和棋子的位置和显示等;关于盘面情况的表示,首先得到屏幕的大小,然后根据所画棋子的大小来确定下一条棋盘的画线.产生棋盘上所有的线.坐标布局的子控件需要指定相对与此坐标布局的横、纵坐标的值。大致效果如图3-2,当然棋盘和棋子只是一张位图,用来配合坐标而已。棋盘是一个正方形的位图,棋子是两个16像素的实心圆,由棋盘的大小得出。
int MiniMax(position p,int d)
{
int bestvalue,value;
if(Gama Over)//检查棋盘是否结束
return evaluation(p);//棋盘结束,返回估值
if(deptu《=0)//是否叶子节点
return evaluation(p);//叶子节点,返回估值
if(p.color=white)//是否轮到白方走棋
bestvalue=-INFINITY;//是,令初始最大值为极小
else
bestvalue=INFINITY;//否,令初始极小值为最大
for(each possibly move m)//对每一可能的走法m
{MakeMove(m);//产生第i个局面(子节点)
Value =MiniMax(P,d-1);//递归调用MiniMax向下搜索子节点
UnMakeMove(m);//恢复当前局面
if(p.color=black)
bestvalue=max(value,bestvalue);取最大值
else
bestvalue=min(value,bestvalue);取最小值
}
Return bestvalue;//返回最大/最小值
}
//end of minimax algorithm

























基于Android的五子棋游戏APP设计相关推荐

  1. 基于android的五子棋游戏的设计——毕业论文.doc,基于Android的五子棋游戏的设计——毕业论文.doc.doc...

    基于Android的五子棋游戏的设计--毕业论文.doc 躁虐方慎养娇陇榷圣枚茵另裙弧懈舅愤拱玫叙未殆鸿嗽透凝彰枝句坯败醋求惦刑退馆罗拖膨清褐兔捻吮嘘唆鞋匆九若秃纽谓跃捡夺浇居汛纠耻生瘟欣糯弹贯住编却 ...

  2. 基于Android的五子棋设计与实现,毕业答辩-基于Android的五子棋游戏的设计与实现...

    ,基于安卓的五子棋游戏的设计与实现,本文中设计与开发实现的是一款基于安卓操作系统的五子棋游戏.Android作为当前智能手机市场的主要占有者,发展态势十分火热,截止2017年3月,在我国安卓市场份额达 ...

  3. 基于android的五子棋游戏app

    该设计为一个单机版的五子棋游戏,人机对战,对难易程度的设置,来改变机器下棋的攻守程度,从而实现胜负的难易.要求实现难,中,易三种游戏难度,游戏界面美观大方,学生具备一定的数据结构,算法分析能力,具有A ...

  4. android五子棋设计模板,基于android的五子棋游戏设计

    内容介绍 原文档由会员 hfnmb 发布 基于Android的五子棋游戏设计 软件工程 [摘 要]本论文主要阐述以面向对象的程序开发语言eclipse为开发工具, 基于智能手机Android之上设计一 ...

  5. java android 五子棋游戏_基于Android平台五子棋游戏最终版.doc

    基于Android平台五子棋游戏最终版 毕业设计(论文)任务书 毕业设计(论文)题目: 基于android平台的五子棋游戏的设计与实现 毕业设计(论文)要求及原始数据(资料): 1.综述国内基于and ...

  6. c语言五子棋开题报告,基于VC的五子棋游戏的设计与实现(附答辩记录)

    基于VC的五子棋游戏的设计与实现(附答辩记录)(包含选题审批表,任务书,开题报告,中期检查报告,毕业论文12300字,程序) 摘 要:以计算机技术和网络技术为核心的现代网络技术已在现实生活和生产中得以 ...

  7. c#五子棋实验报告_基于c#的五子棋游戏的设计与实现毕业论文.doc

    基于c#的五子棋游戏的设计与实现毕业论文 郑 州 科 技 学 院 课 程 设 计 论 文 基于C#的五子棋游戏的设计与实现 学生姓名:王新年 学 号:201015066 年级专业:10级计科二班 指导 ...

  8. Android社团活动设计界面图,基于Android的社团管理APP设计

    一.基本信息 标题:基于Android的社团管理APP设计 作者:张晏齐,田菲,杨洁,杨树媛 时间:2018 来源:中国知网 二.研究背景 随着互联网技术的飞速发展和智能手机的广泛应用,APP作为基于 ...

  9. 基于Android的飞鸟动画APP设计与实现

    基于Android的飞鸟动画APP设计与实现 演示视频 资源下载地址:https://download.csdn.net/download/sheziqiong/86170650 资源下载地址:htt ...

最新文章

  1. Hessian源码分析(java)
  2. python入门作业编程题-python入门(一)作业
  3. 使用 Docker 搭建 Tomcat 运行环境
  4. TI Sitara AM335x系统之AM335x uboot spl分析
  5. 算法分析与设计 —— 贪心算法「活动安排」「背包问题」「哈夫曼编码」
  6. 学习SQL:使用日期和时间函数创建SQL Server报表
  7. 电能储存系统行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. TF2.0—tf.keras.layers.Lambda
  9. 老程序员为什么从不使用 Java 自带的序列化?
  10. 13.看板方法---使用两层系统扩展看板
  11. 【C++】【GADL】读取栅格数据(tif),遍历数组
  12. php td背景颜色改变,JavaScript实现点击单元格改变背景色的方法
  13. 专升本计算机综合-数据结构篇
  14. 小白量化《穿云箭集群量化》(3)量化策略编写(2)
  15. 为出海掘金创造更多可能 助力开发者触达全球用户
  16. Html:简单实现弹砖块小游戏
  17. 【stm32f429igt6】的WiFi模块数据收发。
  18. 如何使用百度天气预报API接口
  19. centos7如何安装chrome浏览器?
  20. qmail Vpopmail And sqwebmail HOWTO

热门文章

  1. 比格云: 移动互联网与云计算行业如何合作共赢
  2. 编程经典书籍:龙书、虎书、魔法书
  3. 定时器+中断 闪烁led
  4. 解决“RIP宣告网络”问题
  5. 人工智能 计算机科学的一个分支,人工智能是计算机科学一个分支(28页)-原创力文档...
  6. W10系统matlab无法保存对该路径的更改 pathdef_操作系统类问题(下)
  7. 剑指offer:10-II.青蛙跳台阶问题
  8. 计算机开机跳过硬盘检查,如何设置开机跳过检测硬盘
  9. Skywalking 性能监控安装及使用
  10. 在阿里工作5年了,看完这篇,别人的开源项目结构应该能看懂了