Surprise团队第一周项目总结

团队项目

基本内容

  • 五子棋(Gobang)的开发与应用
  • 利用Android Studio设计一款五子棋游戏,并丰富其内涵

预期目标

  • 实现人人模式:2个用户可以在同一台电脑上进行切磋下棋,即实现五子棋游戏的基本功能
  • 实现人机模式:为计算机设计五子棋算法(可以考虑分为入门级和大师级),并用代码实现,效果是人可以和计算机下棋,实现人机交互
  • 实现游客模式:即用户直接打开游戏界面选择游客模式,就可以享受游戏的乐趣了,所以满足了以上2种对战模式,基本上就解决了游客模式的难度。
  • 实现账户模式:运用数据库等相关知识,建立一个本地的账户数据库,实现对用户信息的存储与读取(用户信息可包括账户名、密码、游戏积分、游戏等级等)。
  • 实现网络编程:解决了上述本地的问题,接下来可以考虑实现2台计算机在局域网下联机对战,增加游戏的娱乐度。

实现计划

第一周

  • 确定项目内容、目标、实现计划
  • 搜集相关资料,弄清项目需求,有选择的了解相关知识
  • 确定一个基本框架,逻辑整理

第二周

  • 实现人人、人机对战模式
  • 人人相对来说比较简单,人机可能有点难度,涉及到了对五子棋算法的编程

第三周

  • 实现游客模式、账户模式
  • 需用到数据库等知识,丰富第二周成果

第四周

  • 实现网络编程
  • 考虑运用Socket网络编程知识,实现2台计算机联网对战

第五周

  • 项目程序调试及界面优化
  • 对前四周的成果进行完善调试,并对界面进行优化

成员及分工

  • 20145113林晶:负责框架搭建,项目界面优化,代码编写,资料收集与整理,博客的编写
  • 20145221高其:负责框架搭建,代码编写,程序调试,文档整理与发表,博客的编写
  • 项目托管链接:gobang

项目需求分析

两种模式

  • 游客模式
  • 账号登入模式

界面设置

  • 初始进入界面:提供用户选择登入模式,分为游客模式与账号登入模式
  • 用户选择界面:提供用户选择
    • 查看游戏规则
    • 开始人人对弈
    • 开始人机对弈
  • 游戏规则界面:查看游戏规则,并设置按钮返回首界面
  • 账号登入界面:用户进行账户的登入,并设置按钮进入用户选择界面
  • 人人对弈界面:进行对弈,设置重置选择,反悔选择,投降选择,让子选择
  • 人机对弈界面:进行对弈,设置重置选择,反悔选择,投降选择,让子选择

实现构思

  • 对于UI方面的设计:小组成员较为感兴趣,对于界面的设计与调整将会进行深入的了解
  • 对于人人对弈部分:逻辑上较好实现,难点在于需要运用Socket网络编程知识,实现2台计算机联网对战。解决:开始学习网络编程相关方面的知识。
  • 对于人机对弈部分:逻辑上存在较大的难度,需要综合分析每个棋子进行最佳落子位置的判断,小组成员将进行缜密的分析。
  • 对于账号登入部分:需要进行数据库的学习

总结

因为刚开始接触Android,对于Android的各项功能还没熟悉,所以小组决定从基础的五子棋游戏入手。进行边学习边实现边完善,在项目结束的时候,基本具备独立实现一些简单的小游戏。这个项目虽然普遍,但是在不断完善的过程中,发现问题,学习新知识,带动自己学习的动力。以小组为形式的项目开发,打破了原来的独立开发模式,选哟两个人更多的交流沟通,不同的想法与见解进行分析,整合得到更好的想法。

参考资料

Surprise团队第一周项目总结的更多相关文章

  1. Surprise团队第二周项目总结

    Surprise团队第二周项目总结 项目进展 已实现五子棋人人模式部分 人人模式: 基本方式:采取黑棋先行,黑白交替的下棋顺序. 模式:通过鼠标点击相应棋盘中的"交叉点",在lay ...

  2. Cooperation.GTST团队第一周项目总结

    Cooperation.GTST团队第一周项目总结 团队项目 项目内容:我们打算利用Android Studio开发一款博客园的Android APP,初步设想能够实现在Android手机平台使用博客 ...

  3. ZLYD团队第一周项目总结

    ZLYD团队第一周项目总结 团队项目 项目内容:我们打算利用Applet实现一个吃豆子游戏,团队初步设定游戏规则如下: 按空格键,游戏开始: 通过方向键控制吃豆者的运动方向,直到吃光所有金豆子: 吃到 ...

  4. Javaworkers团队第一周项目总结

    项目名称:游戏贪吃蛇 项目介绍: 贪吃蛇是一款相当经典的小游戏,我们团队决定用我们现有的java知识来实现它. 具体设计: 对象:蛇.果实 方向键:控制蛇的运动. 空格键:暂停游戏 ESC:推出游戏( ...

  5. Surprise团队第四周项目总结

    Surprise团队第四周项目总结 项目进展 这周我们小组的项目在上周的基础上进行了补充,主要注重在注册登录界面的改进优化与美观,以及关于人计算法的学习与初步实现. 我们小组针对上次APP中界面出现的 ...

  6. #ZLYD团队第二周项目总结

    ZLYD团队第二周项目总结 项目进展 确定项目内容.目标.实现计划 首先确定游戏界面的游戏区域中墙的位置,绘制其图形,并通过其中的方法,返回墙壁的位置等属性. 根据豆子的位置,绘制其图形. 初始化吃豆 ...

  7. Thunder团队第一周贡献分分配结果

    小组名称:Thunder 项目名称:爱阅app 组长:王航 成员:李传康.代秋彤.邹双黛.苗威.宋雨.胡佑蓉.杨梓瑞 第一周贡献分分配结果 此次分配与原计划的分配方案基本一致.

  8. “Hello World”团队第一周博客汇总

    时间:2017-10-13——2017-10-19 Scrum会议: 会议要求博客:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/1 ...

  9. “Hello world!”团队第一周贡献分分配结果

    小组名称:Hello World! 项目名称:空天猎 组长:陈建宇 成员:刘成志.阚博文.刘淑霞.黄泽宇.方铭.贾男男 第一周贡献分分配结果   基础分 会议分 提功能分 个人表现分 各项总分 最终分 ...

随机推荐

  1. 使用Python scipy linprog 线性规划求最大值或最小值(使用Python学习数学建模笔记)

    函数格式 scipy.optimize.linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None, bounds=None, method='simp ...

  2. RASPBERRY PI 外设学习资源

    参考: http://www.siongboon.com/projects/2013-07-08_raspberry_pi/index.html Raspberry Pi         Get st ...

  3. 在 ASP.NET 中创建数据访问和业务逻辑层(转)

    .NET Framework 4 当在 ASP.NET 中处理数据时,可从使用通用软件模式中受益.其中一种模式是将数据访问代码与控制数据访问或提供其他业务规则的业务逻辑代码分开.在此模式中,这两个层均 ...

  4. iOS autoresizing布局

    在对UIView以及其子类空间的布局方案有多种,今天温习了一下autoresizing布局 一.了解一下相关知识: 1.UIView其中一个属性为 @property(nonatomic) UIVie ...

  5. C语言中内存对齐

    今天一考研同学问我一个问题,一个结构体有一个int类型成员和一个char类型成员,问我这个结构体类型占多少个字节,我直接编个程序给他看结果.这个结构体占八个字节,咦,当时我蛮纳闷的,一个int类型四个 ...

  6. 在mac上获取iphone当前屏幕截图

    xcode->windows->devices->take screenshot ![](http://o9etp0h70.bkt.clouddn.com/16-9-6/145261 ...

  7. Java 基础知识相关好文章

    1. 使用简单易懂的例子,分析了equals 和 hashCode 两个方法的异同,尤其中自定义类中对他们的重写,对Set等容器类的在插入时的判断是否相等的影响. http://blog.csdn.n ...

  8. HTML 5 <script> 标签

    HTML 4.01 与 HTML 5 之间的差异 async 属性是 HTML 5 中的新属性. 在 HTML 5 中,不再支持 HTML 4.01 中的一些属性. 提示和注释 注释:脚本按照如下方式 ...

  9. python 中x%2 x&1 判断偶数奇数 性能对比

    本文使用非常好用的python交互解释器ipython操作演示, 使用命令pip install ipython安装,输入ipython即可.比python自带的好用. python中有两种方法判断一 ...

  10. 【python】操作excel——xlrd xlwt xlutils

    from xlutils.copy import copy import xlrd # import xlutils #打开已存在的excel rb=xlrd.open_workbook('D:\\1 ...