




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LOGO指导教师:指导教师:五子棋五子棋蓝牙版蓝牙版n小组:小组:n组长:组长:n组员:组员:n项目编写背景项目编写背景n项目开发进程项目开发进程n项目功能及项目效果项目功能及项目效果n所运用的技术、开发工具所运用的技术、开发工具n项目组各成员完成的内容项目组各成员完成的内容n完成项目的情况完成项目的情况n项目完成后的感想及遇到问题解决后的收获项目完成后的感想及遇到问题解决后的收获汇报步骤汇报步骤项目编写背景项目编写背景 五子棋是一个适合各个年龄段人的一款益智游戏,android五子棋的程序有很多,但是有蓝牙功能的五子棋几乎没有。蓝牙是一种支持设备短距离通信的无线电技术,成本低。当我们平时无聊
2、时可以打开这个程序和同学、朋友来一次简单的对弈。基于这些情况,我们选择这个有挑战的项目。为什么说有挑战?因为android模拟器不支持蓝牙,开发蓝牙那部分时,费了很多劲,在手机上调试很难发现问题具体出在哪儿。 项目编写背景项目编写背景 但是我们始终坚信做出一个支持蓝牙的五子棋是很有必要的。 项目开发进程项目开发进程2012年5月4日:选取项目,对整个项目进行 整体构思,并合理安排任务2012年5月5日:进行界面的设计,各个 Activity之间的切换,着手 GameView的编写。5月6号至5月8号:完成图片的美化及所有界面之间的切换,GameView编写完成能够完成简单的对弈。项目进程项目进
3、程5月9号-5月11号:编写蓝牙功能,实现背景音乐及音效。5月12号-5月13号:完成PPT的制作,再从头 实现,补充程序中的不 足。项目功能及项目效果项目功能及项目效果u蓝牙模式:蓝牙模式:人人对战(核心)人人对战(核心)u普通模式:普通模式: 人人对战人人对战 u 打开打开androidandroid五子棋五子棋( (蓝牙版蓝牙版) )进入此进入此界面。界面。a a、点击开始:、点击开始:进入模式选择界面。进入模式选择界面。b b、点击设置:、点击设置:进入背景音乐及音效的设置。进入背景音乐及音效的设置。c c、点击退出或者是按返回键:、点击退出或者是按返回键:会弹出一个询问您是否退出的会
4、弹出一个询问您是否退出的对话框,确定则退出程序,取消则停对话框,确定则退出程序,取消则停在当前页面。在当前页面。项目功能描述及项目效果项目功能描述及项目效果u 模式选择界面。模式选择界面。a a、点击蓝牙模式:、点击蓝牙模式:进入蓝牙模式的对弈界面,在进入蓝牙模式的对弈界面,在模拟器上运行会弹出一个模拟器上运行会弹出一个ToastToast提示提示当前手机不支持蓝牙。当前手机不支持蓝牙。b b、点击普通模式:、点击普通模式:进入普通的人人对战的五子棋进入普通的人人对战的五子棋对弈界面。对弈界面。c c、返回:、返回:退回到开始界面。退回到开始界面。项目功能描述及项目效果项目功能描述及项目效果u
5、 蓝牙模式,刚进入蓝牙模式就弹出权蓝牙模式,刚进入蓝牙模式就弹出权限请求的对话框。限请求的对话框。a a、点击是:、点击是:打开蓝牙。打开蓝牙。再点击手机上的菜单键,会弹再点击手机上的菜单键,会弹出一个有两个选项的选项菜单,一个出一个有两个选项的选项菜单,一个用于连接蓝牙设备,一个用于设置本用于连接蓝牙设备,一个用于设置本手机能被其他设备搜索到。手机能被其他设备搜索到。b b、点击否:、点击否:会看到提示会看到提示“蓝牙被禁止,正蓝牙被禁止,正在退出在退出.”。项目功能描述及项目效果项目功能描述及项目效果u 点击选项菜单:点击选项菜单:如果手机上有已经配对的蓝牙如果手机上有已经配对的蓝牙设备,
6、会直接显示在设备,会直接显示在ListViewListView中,也中,也可以点击扫描蓝牙设备,搜索新的蓝可以点击扫描蓝牙设备,搜索新的蓝牙设备,搜到了蓝牙设备点牙设备,搜到了蓝牙设备点ListViewListView可连接到该设备。可连接到该设备。项目功能描述及项目效果项目功能描述及项目效果u 音乐音效设置界面。音乐音效设置界面。a a、点击音乐开:、点击音乐开:背景音乐开起。背景音乐开起。b b、点击音效开:、点击音效开:音效开起音效开起c c、返回:、返回:退回到开始界面。退回到开始界面。项目功能描述及项目效果项目功能描述及项目效果u 普通模式。普通模式。a a、每结束一局游戏,会更新输
7、赢局、每结束一局游戏,会更新输赢局数,并提示数,并提示“点击继续游戏点击继续游戏”。b b、重玩:、重玩:清空画布。清空画布。c c、退出:、退出:退回到模式开始界面。退回到模式开始界面。项目功能描述及项目效果项目功能描述及项目效果u 1 1、GameViewGameView类继承于类继承于SurfaceViewSurfaceView,实现了五子棋对弈的,实现了五子棋对弈的核心功能。、核心功能。、u 2 2、MusicServiceMusicService继承与继承与Service,Service,是背景音乐的服务类。是背景音乐的服务类。u 3 3、BluetoothChessServiceB
8、luetoothChessService类接受聊天信息,其中类接受聊天信息,其中AcceptThreadAcceptThread线程类,用于检测其他蓝牙设备的连接。线程类,用于检测其他蓝牙设备的连接。u 4 4、DeviceListActivityDeviceListActivity类,初始化设备列表,将已配对的类,初始化设备列表,将已配对的设备显示在列表中。设备显示在列表中。u 5 5、BluetoothChessViewBluetoothChessView是蓝牙五子棋的视图类,与是蓝牙五子棋的视图类,与GameViewGameView类类似,只是增加了蓝牙功能。类类似,只是增加了蓝牙功能。
9、项目核心类的功能项目核心类的功能u 在在 9 X 9 9 X 9 的游戏棋盘中的游戏棋盘中 我们把它想象成一个二维数组,我们把它想象成一个二维数组,黑方下棋子后填充当前点的数组的值黑方下棋子后填充当前点的数组的值1 1,白方下棋子后填充,白方下棋子后填充当点的数组的值当点的数组的值2 2 ,没有下棋子的点在数组中值为,没有下棋子的点在数组中值为0 0,黑白,黑白双方每走一步,则实际上在给这个二维数组赋值。双方每走一步,则实际上在给这个二维数组赋值。 所以我所以我们根据这个二维数组的值就可以计算出五子连珠,也可以们根据这个二维数组的值就可以计算出五子连珠,也可以绘制出棋盘上的黑白棋子。绘制出棋盘
10、上的黑白棋子。玩家点击屏幕后拿到一个屏幕的玩家点击屏幕后拿到一个屏幕的 x y x y 坐标坐标 然后除以然后除以棋盘每一格的宽高就可以得到在二维数组中的索引根据棋盘每一格的宽高就可以得到在二维数组中的索引根据X Y X Y 这两个索引就可以知道棋子下在了这个二维数组中的哪里这两个索引就可以知道棋子下在了这个二维数组中的哪里项目核心算法项目核心算法所运用的技术和开发工具所运用的技术和开发工具u 运用的技术:运用的技术:java、androidu 开发工具:开发工具: Eclipseu 辅助开发工具:辅助开发工具: photoshop项目组的各成员完成的内容项目组的各成员完成的内容u XX: 组
11、长:对项目的方向有总组长:对项目的方向有总 体把握,合理安排项体把握,合理安排项 目任务,与组员之间进行很好的沟通,对组目任务,与组员之间进行很好的沟通,对组员反应的问题及时解决。员反应的问题及时解决。 程序员:完成项目的蓝牙及五子棋对弈功能,程序员:完成项目的蓝牙及五子棋对弈功能,XX1: 组员:认真地配合组长,切实的完成组长安排的任务组员:认真地配合组长,切实的完成组长安排的任务 积极的和组长沟通,提出自己意见建议,遇积极的和组长沟通,提出自己意见建议,遇 到问题及时解决,解决不了的及时向组长反到问题及时解决,解决不了的及时向组长反应并配合组长解决。应并配合组长解决。 程序员:添加多个界面
12、,完成各界面设计,完成了多程序员:添加多个界面,完成各界面设计,完成了多个个Activity之间的切换,完成音乐背景及音之间的切换,完成音乐背景及音效功能。效功能。项目完成后的感想及遇到问题解决后的收获项目完成后的感想及遇到问题解决后的收获u 感想:感想:这是自己在这是自己在android培训中所做的第三个项目,也培训中所做的第三个项目,也 是与同学共同完成的第二个项目,与前一个相比,我是与同学共同完成的第二个项目,与前一个相比,我们更有默契,分工安排更合理,分工按照我们各自的们更有默契,分工安排更合理,分工按照我们各自的特点分工使我们这次项目做得事半功倍,没有存在各特点分工使我们这次项目做得
13、事半功倍,没有存在各做各的,我们沟通很好。一个项目最重要的团队合作做各的,我们沟通很好。一个项目最重要的团队合作精神我们具备了。精神我们具备了。项目完成后的感想及遇到问题解决后的收获项目完成后的感想及遇到问题解决后的收获u 遇到的问题:遇到的问题:在做音乐背景时,本来打算用线程(在做音乐背景时,本来打算用线程(Thread)但是虽然最后实现了播放,但是无法控制但是虽然最后实现了播放,但是无法控制结束线程的功能,最后我选择使用了(结束线程的功能,最后我选择使用了(Mediaplayer+Service),在音效的使用中我),在音效的使用中我们选择了没有接触过的们选择了没有接触过的SoundPoo
14、l,在其他同学,在其他同学的帮助下,经过努力和反复的实践成功了。的帮助下,经过努力和反复的实践成功了。GameView:在做游戏的主显示界面在做游戏的主显示界面GameView时,我们用的是二维数组存储黑白子(时,我们用的是二维数组存储黑白子(0:没有棋子,:没有棋子,1:白子,:白子,2:黑子),然后再根据数:黑子),然后再根据数组中的内容绘制棋子,开始我们不知道怎么让赋值与组中的内容绘制棋子,开始我们不知道怎么让赋值与绘制同步,到网上查阅了很多资料,最后的解决方法绘制同步,到网上查阅了很多资料,最后的解决方法是:将给数组赋值放到是:将给数组赋值放到onTouchEvent()中,绘()中,
15、绘制棋子的过程放到一个线程里不停地刷新。制棋子的过程放到一个线程里不停地刷新。项目完成后的感想及遇到问题解决后的收获项目完成后的感想及遇到问题解决后的收获蓝牙方面:在两个连接上的设备之间发送和接收消息,我们要蓝牙方面:在两个连接上的设备之间发送和接收消息,我们要 发送所点击的坐标对应数组的两个下标,我们是发送所点击的坐标对应数组的两个下标,我们是 将两个将两个int数转换为字符串发送,接收方将接收到数转换为字符串发送,接收方将接收到 的字符串分离为两个整形数,这样达到解决的目的字符串分离为两个整形数,这样达到解决的目 的。的。收获:从这些遇到的问题及解决的方式来看,我认为我收货最收获:从这些遇到的问题及解决的方式来看,我认为我收货最 大的就是我们做事情应该站在巨人的肩上,吸取前辈大的就是我们做事情应该站在巨人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场地出租分红协议书
- 制浆设备转让协议书
- 品牌合作生产协议书
- 土方出场承包协议书
- 双方货款结清协议书
- 化工培训合同协议书
- 南京治安调解协议书
- 华为签订专利协议书
- 咖啡买卖合同协议书
- 合作协议付款协议书
- 高中生物试卷讲评公开课课件模板
- 会诊制度培训课件
- 2025年经济师考试旅游经济(中级)专业知识和实务试卷及解答参考
- 安徽演艺集团有限责任公司招聘笔试题库2024
- 回收二手机免责协议书模板
- 2023年UKKA血液透析血管通路临床实践指南解读
- 2022版义务教育艺术课程标准美术新课标学习解读课件
- 完整版青少年普法宣传教育全文课件
- 陕西省探矿权采矿权使用费和价款管理办法
- CB-Z-806-2016船舶动力定位模型试验规程
- 押安徽中考数学第21题(统计与概率)(原卷版+解析)
评论
0/150
提交评论