资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
指导教师:,五子棋蓝牙版,小组: 组长: 组员:,项目编写背景 项目开发进程 项目功能及项目效果 所运用的技术、开发工具 项目组各成员完成的内容 完成项目的情况 项目完成后的感想及遇到问题解决后的收获,汇报步骤,项目编写背景,五子棋是一个适合各个年龄段人的一款益智游戏,android五子棋的程序有很多,但是有蓝牙功能的五子棋几乎没有。蓝牙是一种支持设备短距离通信的无线电技术,成本低。当我们平时无聊时可以打开这个程序和同学、朋友来一次简单的对弈。基于这些情况,我们选择这个有挑战的项目。为什么说有挑战?因为android模拟器不支持蓝牙,开发蓝牙那部分时,费了很多劲,在手机上调试很难发现问题具体出在哪儿。,项目编写背景,但是我们始终坚信做出一个支持蓝牙的五子棋是很有必要的。,项目开发进程,2012年5月4日:选取项目,对整个项目进行 整体构思,并合理安排任务 2012年5月5日:进行界面的设计,各个 Activity之间的切换,着手 GameView的编写。 5月6号至5月8号:完成图片的美化及所有界面之间的切换,GameView编写完成能够完成简单的对弈。,项目进程,5月9号-5月11号:编写蓝牙功能,实现背景音乐及音效。 5月12号-5月13号:完成PPT的制作,再从头 实现,补充程序中的不 足。,项目功能及项目效果,蓝牙模式: 人人对战(核心) 普通模式: 人人对战,打开android五子棋(蓝牙版)进入此界面。 a、点击开始: 进入模式选择界面。 b、点击设置: 进入背景音乐及音效的设置。 c、点击退出或者是按返回键: 会弹出一个询问您是否退出的对话框,确定则退出程序,取消则停在当前页面。,项目功能描述及项目效果,1、开始界面,模式选择界面。 a、点击蓝牙模式: 进入蓝牙模式的对弈界面,在模拟器上运行会弹出一个Toast提示当前手机不支持蓝牙。 b、点击普通模式: 进入普通的人人对战的五子棋对弈界面。 c、返回: 退回到开始界面。,项目功能描述及项目效果,2、模式选择,蓝牙模式,刚进入蓝牙模式就弹出权限请求的对话框。 a、点击是: 打开蓝牙。 再点击手机上的菜单键,会弹出一个有两个选项的选项菜单,一个用于连接蓝牙设备,一个用于设置本手机能被其他设备搜索到。 b、点击否: 会看到提示“蓝牙被禁止,正在退出.”。,项目功能描述及项目效果,3、蓝牙对弈,点击选项菜单: 如果手机上有已经配对的蓝牙设备,会直接显示在ListView中,也可以点击扫描蓝牙设备,搜索新的蓝牙设备,搜到了蓝牙设备点ListView可连接到该设备。,项目功能描述及项目效果,4、扫描蓝牙设备,音乐音效设置界面。 a、点击音乐开: 背景音乐开起。 b、点击音效开: 音效开起 c、返回: 退回到开始界面。,项目功能描述及项目效果,5、设置界面,普通模式。 a、每结束一局游戏,会更新输赢局数,并提示“点击继续游戏”。 b、重玩: 清空画布。 c、退出: 退回到模式开始界面。,项目功能描述及项目效果,6、普通模式,1、GameView类继承于SurfaceView,实现了五子棋对弈的核心功能。、 2、MusicService继承与Service,是背景音乐的服务类。 3、BluetoothChessService类接受聊天信息,其中AcceptThread线程类,用于检测其他蓝牙设备的连接。 4、DeviceListActivity类,初始化设备列表,将已配对的设备显示在列表中。 5、BluetoothChessView是蓝牙五子棋的视图类,与GameView类类似,只是增加了蓝牙功能。,项目核心类的功能,在 9 X 9 的游戏棋盘中 我们把它想象成一个二维数组,黑方下棋子后填充当前点的数组的值1,白方下棋子后填充当点的数组的值2 ,没有下棋子的点在数组中值为0,黑白双方每走一步,则实际上在给这个二维数组赋值。 所以我们根据这个二维数组的值就可以计算出五子连珠,也可以绘制出棋盘上的黑白棋子。玩家点击屏幕后拿到一个屏幕的 x y 坐标 然后除以棋盘每一格的宽高就可以得到在二维数组中的索引根据X Y 这两个索引就可以知道棋子下在了这个二维数组中的哪里,项目核心算法,所运用的技术和开发工具,运用的技术:java、android 开发工具: Eclipse 辅助开发工具: photoshop,项目组的各成员完成的内容,XX: 组长:对项目的方向有总 体把握,合理安排项 目任务,与组员之间进行很好的沟通,对组员反应的问题及时解决。 程序员:完成项目的蓝牙及五子棋对弈功能, XX1: 组员:认真地配合组长,切实的完成组长安排的任务 积极的和组长沟通,提出自己意见建议,遇 到问题及时解决,解决不了的及时向组长反应并配合组长解决。 程序员:添加多个界面,完成各界面设计,完成了多个Activity之间的切换,完成音乐背景及音效功能。,项目完成后的感想及遇到问题解决后的收获,感想: 这是自己在android培训中所做的第三个项目,也 是与同学共同完成的第二个项目,与前一个相比,我们更有默契,分工安排更合理,分工按照我们各自的特点分工使我们这次项目做得事半功倍,没有存在各做各的,我们沟通很好。一个项目最重要的团队合作精神我们具备了。,项目完成后的感想及遇到问题解决后的收获,遇到的问题: 在做音乐背景时,本来打算用线程(Thread)但是虽然最后实现了播放,但是无法控制结束线程的功能,最后我选择使用了(Mediaplayer+Service),在音效的使用中我们选择了没有接触过的SoundPool,在其他同学的帮助下,经过努力和反复的实践成功了。 GameView:在做游戏的主显示界面GameView时,我们用的是二维数组存储黑白子(0:没有棋子,1:白子,2:黑子),然后再根据数组中的内容绘制棋子,开始我们不知道怎么让赋值与绘制同步,到网上查阅了很多资料,最后的解决方法是:将给数组赋值放到onTouchEvent()中,绘制棋子的过程放到一个线程里不停地刷新。,项目完成后的感想及遇到问题解决后的收获,蓝牙方面:在两个连接上的设备之间发送和接收消息,我们要 发送所点击的坐标对应数组的两个下标,我们是 将两个int数转换为字符串发送,接收方将接收到 的字符串分离为两个整形数,这样达到解决的目 的。 收获:从这些遇到的问题及解决的方式来看,我认为我收货最 大的就是我们做事情应该站在巨人的肩上,吸取前辈的优点,归纳总结改进来变成自己的东西。积极的去查询资料,在困难中学会的东西会让你记忆深刻。所以我们不能害怕困难,应该面临困难,逆流而上,相 信你会觉得你的所有付出是值得的,打败困难后的喜悦是你想象不到的。,致谢,The end 谢谢大家,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号