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





团队成员贡献与成绩分配
成员贡献
- 20145113林晶:
- 负责框架搭建,项目界面优化,代码编写,资料收集与整理,博客的编写
- 在实际操作中负责完成了:环境配置,用户注册,人人模式,用户界面美化
- 20145221高其:
- 负责框架搭建,代码编写,程序调试,文档整理与发表,博客的编写
- 在实际操作中负责完成了:环境配置,用户登录,人机模式,界面间的跳转
成绩分配——总分:25*2=50
| 学号 | 姓名 | 分数 |
|---|---|---|
| 20145113 | 林晶 | 26 |
| 20145221 | 高其 | 24 |
Surprise团队项目总结的更多相关文章
- Surprise团队第四周项目总结
Surprise团队第四周项目总结 项目进展 这周我们小组的项目在上周的基础上进行了补充,主要注重在注册登录界面的改进优化与美观,以及关于人计算法的学习与初步实现. 我们小组针对上次APP中界面出现的 ...
- Surprise团队第三周项目总结
Surprise团队第二周项目总结 项目进展 这周我们小组的项目在上周的基础上进行了补充,主要注重在注册登录界面的实现,以及关于数据库的一些学习. 在设计注册登录界面时,每一块的地方控件都不一样,比如 ...
- Surprise团队第二周项目总结
Surprise团队第二周项目总结 项目进展 已实现五子棋人人模式部分 人人模式: 基本方式:采取黑棋先行,黑白交替的下棋顺序. 模式:通过鼠标点击相应棋盘中的"交叉点",在lay ...
- Surprise团队第一周项目总结
Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...
- AxureRp 打开SVN上的团队项目
打开Axure,在菜单项中,点击 "团队" 菜单,选择 "获取团队项目": 切换到 "SVN" 选项, 填写正确的Axure项目的路径,打开 ...
- 团队项目——编写项目的Spec
团队项目--编写项目的Spec 一.Spec的目标 spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
- tfs中如何创建团队项目及如何操作团队项目
创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...
- 团队项目——站立会议 DAY11
团队项目--站立会议 DAY11 团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱 今日(2016/5/20),站立会议已进行了两周时间,将这一周所遇到的问题和心 ...
随机推荐
- Bootstrap <基础三十一>插件概览
在前面布局组件中所讨论到的组件仅仅是个开始.Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动.即使不是一名高级的 JavaScript 开发人员,也可以着手 ...
- 计算机网络(12)-----HTTP协议详解
HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...
- Nginx配置单主机多域名
http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; ...
- HalconMFC(二)之VS2010下配置Halcon11教程
现在halcon最新版本是halcon11.0.3,所以在此说说halcon11.0.3的配置方法(至今还不知道halcon11怎么破解...halcon10早都可以破解了) 我们可以把相应的文件(头 ...
- Matlab中的mapminmax函数学习
premnmx() is obselete. Use MAPMINMAX instead. >> x1=[1 2 4] >> [y,ps]=mapminmax(x1); 得到: ...
- ios系统crash文件分析
分析crash文件必备条件:crash文件的uuid,app的uuid,dsym文件的uuid必须一致 1> crash文件的uuid为Binary Images:0x4000 - 0x1173 ...
- JDBC driver connection string大全
Database / data source URL format / driver name Value Default port MySQL URL format: jdbc:mysql: ...
- JavaScript之全局变量和隐式全局变量
通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的. 无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的.
- a链接的四种状态
四种状态:hover.link.active.visible a:link{color:#fff;} a链接初始化 a:hover{color:yellow;} 把鼠标放上去的状况 a:active{ ...
- windows 下安装redis并且测试(php)
Window 下安装 下载地址:https://github.com/dmajkic/redis/downloads. 下载到的Redis支持32bit和64bit.根据自己实际情况选择,将64bit ...