Surprise团队项目总结

项目实现情况

  • 实现人人模式:2个用户在同一台电脑上进行切磋下棋,即实现五子棋游戏的基本功能
  • 实现人机模式:初级模式已经实现,可以进行人机交互,但是还没达到智能判断下棋点
  • 实现游客模式:即用户直接打开游戏界面选择游客模式,并可以进行以上2种对战模式
  • 实现账户模式:
    • 注册功能:用户可以注册自己的账号,进行注册时设有密码的两次校验,并且如果注册的账号已经存在则会提示注册失败。
    • 登录功能:用户使用自己的账户进行登入,在密码正确的情况下显示登入成果,并进行游戏。

项目测试

项目实现中的问题与解决

  • 由于小组是全自主编程,所以在项目的实现过程中就会遇到很多细节上的问题
  • 环境的安装配置:刚开始接触android,对于android不熟悉。在安装与环境的配置出现了问题
    • 首先模拟器出现了问题,一直都开不了机,后来采取给模拟器多分配内存,并安装了加速的插件,解决了模拟器问题。
    • 其次项目无法运行,后来百度查找相关原因得知是与中文的不兼容,后来在两个人的协作下都一一解决了。
  • 注册登录的实现:由于之前没有接触过数据库,所以在学习上存在一定困难,林晶负责注册的实现,在开始时候采用的是Sha,虽然运用多个表进行存储可以进行注册并将数据保存在data中,但是在高其进行用户登入的时候就出现了问题,由于是多个文件,就不懂得该如何获取相应的信息。后来林晶进过分析找到原因后更改使用SQLite,完成了注册功能。高其进行了登录的编写。
  • 人人棋盘绘制的实现:人人模式是由林晶负责,在棋盘绘制的时候出现棋子走不到棋盘交叉线上,后来经过分析发现是在读取用户鼠标点击事件时候没有进行棋子落子点的再次判断,后来经过逻辑的重新梳理,对每次读取的横纵坐标进行判断是偏靠与哪个应下点,并判断该点是否已经落过子,如果落过子则无效,若为有效点重绘棋盘。
  • 人机逻辑的实现:该部分由高其实现,在基于人人模式上,进行人机的交互,对于电脑判断,逻辑上是采用以“堵”为主(这可能涉及到更深层次的数据结构问题,所以在这里只是简单的对人采取堵的操作),对方如果已经三颗则堵,否则就在棋盘上随机落子。后续步骤则和“人人模式”相仿,每次落子完毕后,都会进行判断,是否有一方获胜,如果是,则显示胜利方并结束游戏,反之,继续游戏。
  • 用户界面美化:该部分由林晶负责
    • 在对图片进行导入的时候出现好几次让整个程序崩溃,后来找到原因,是由于两次导入的图片名字相同,虽然前一个已经删除但是由于android更新缓存慢,然后程序就死了,后来经过百度经验对程序进行更新,解决了该问题。
    • 对于MagiceButton,使用.gif(考虑到美观希望部分背景为透明的)作为背景无法显示,后来采用了.png图片格式。
    • 刚开始时候界面设计得特别丑,后来通过进行设计上的学习,参照《写给设计者看的书》进行对界面的重新布局。
  • 界面跳转:该部分由高其负责,由于开始时候忘记将activity添加到mainfest文件中,导致程序无法运行,然后由于是细节上的问题没能及时发现,纠结了好久了以后才发现这个问题,进行添加后解决了该问题。
  • 对于排行榜的实现:至今未解决:由于考虑到每次都要记录用户得分,并且更新数据库的排行信息,又由于期末考试将近,还没能理清其中逻辑,打算在考试周后继续该模块的实现。

项目的展望与改进

  • 第一,项目的功能还未能完善。在我们最初的设想中,是想设计一个排行榜。这个排行榜当然是面向已经注册的用户使用的,用户每次登录后,都可以进入排行榜界面查看自己的成绩与排名。
  • 第二,可以考虑在项目中加入联网的功能。及简单实现两台计算机的互联,分别在各自的电脑上进行操作下棋对弈。这个可能会涉及到网络编程等相关问题,由于我们的知识与时间有限,在本次开发中没有考虑此功能,不过后续的学弟学妹们可以帮我们完善补充~
  • 第三,最后希望可以增加程序的实用性。比如,我们这个是基于安卓的应用程序开发,那当我们调试了差不多之后,是否能将其完美移植到安卓手机上,这个有待去完善。最好的是,这个手机游戏可以像在电脑上那样,实现注册、登录、游客模式、人人联网游戏(局域网下)、人机模式(单机版)等等。

项目成果展示

团队成员贡献与成绩分配

成员贡献

  • 20145113林晶
    • 负责框架搭建,项目界面优化,代码编写,资料收集与整理,博客的编写
    • 在实际操作中负责完成了:环境配置,用户注册,人人模式,用户界面美化
  • 20145221高其
    • 负责框架搭建,代码编写,程序调试,文档整理与发表,博客的编写
    • 在实际操作中负责完成了:环境配置,用户登录,人机模式,界面间的跳转

成绩分配——总分:25*2=50

学号 姓名 分数
20145113 林晶 26
20145221 高其 24