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

,基于安卓的五子棋游戏的设计与实现,本文中设计与开发实现的是一款基于安卓操作系统的五子棋游戏。Android作为当前智能手机市场的主要占有者,发展态势十分火热,截止2017年3月,在我国安卓市场份额达到了86.4%的程度。五子棋作为中国传统棋类游戏,容易上手,老少皆宜,而且趣味横生,引人入胜;它不仅能使人娱乐,也能够开发人的智力,而且富含哲理,有助于修身养性。再与最新的联系在一起,必将焕发新的活力。,系统的背景及意义,开发的主要内容与目标,本论文中涉及的五子棋趣味小游戏在主体上应用Android的View框架编程,但也有一些小范围的设计采用Android中的其他组件。这个软件是应用程序的计算方法分析分数,从而来完成对游戏输赢的判定。UI方面:五子棋在点击游戏图标从而进入游戏的最初界面时,采用LinearLayout的XML这一系统文件。其中包括了一个3个Button,分别实现了不同的功能。最上方的按钮是开始游戏中的双人对战模式。第二个按钮是进入五子棋的人机对战模式。最后一个按钮是用来退出游戏的,一旦点击运行,就会自动结束程序的运行。无论是人与人的游戏还是人与电脑智能的游戏,都采用一样的构建棋盘、棋子的方法,这样就可以构成人与人对战的基本模块,只需要加入自动判定胜负的环节即可。然为了实现人机对战中的AI智能落子选择,又对胜负判断部分代码进行了修改,加入了分值对比,除了判断胜负,也通过权值对比的计算,找到最优落子点。,系统需求分析,功能需求分析:人人对战、人机对战、退出游戏的功能。性能需求分析:点击精确度、时间特性、适应性。其他需求分析:可使用性、安全保密性、可维护性。,系统总体设计,,两种对战模式,显示模块,打开代码展示,流程控制,用例说明,设计效果演示,欢迎页面主页面人人对战页面人机对战页面退出游戏,欢迎页面&主页面,人人对战&人机对战,程序运行演示与代码介绍,1,2,3,代码亮点,一、棋子棋盘绘制,首先设置一个正方形的view并测量与计算出棋盘每条线的间距。在for循环中通过canvas.drawLine方法绘制出棋盘。再让棋子的大小为行高的3/4,并设置标准坐标,即根据用户点击的位置计算出对应棋盘上所属的坐标再进行存储。这样也很好的解决了点击偏离落子点和判断同一位置是否已经有棋子的问题。,代码亮点,二、游戏结束判断,实际上,是根据当前最后一个落子的情况来判断胜负的。实际上需要从四个位置判断,以该子为出发点的水平,竖直和两条分别为45度角和135度角的线,目的是看在这四个方向是否最后落子的一方构成连续五个的棋子,如果是的话,就表示该盘棋局已经分出胜负,游戏结束。,代码亮点,三、人机下法选择,算法的中心思想是:利用分数代表每个位置的重要程度,越重要的位置的分数值会越高,当电脑下棋时会先将电脑和玩家棋型的分数分别计算一遍,然后选择二者中分数最高的点下子。如果玩家的分数高,那么代表电脑应该防守,如果电脑的分数高,那么代表电脑应该进攻。,总结,在本此五子棋游戏的编写过程中,程序基本上实现了任务书和需求分析要求的完成的效果。但实际上,程序还是有很多欠缺和可以改进的地方:程序没有设置和棋提示程序没有设计悔棋功能程序UI基本都是安卓原生的,不美观五子棋智能算法虽然基本实现,但智能化水平较低,致谢,感谢诸位老师。请各位老师批评指正。,

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值