Surprise团队第二周项目总结

Surprise团队第二周项目总结
项目进展
- 已实现五子棋人人模式部分
- 人人模式:
- 基本方式:采取黑棋先行,黑白交替的下棋顺序。
- 模式:通过鼠标点击相应棋盘中的“交叉点”,在
layout中设计相关界面的一些控件,将界面与代码部分“关联”起来即可实现。 - 界面:关于界面的设置,我们项目小组找了一些图片作为背景图案,通过
activity_main.xml->Design设置初始界面的一些Button控件,供用户点击选择。 - 算法:用户的落子点是随机的,只要是棋盘上可点击的交叉点即可。算法的关键部分应该是,如何判断获胜。获胜的条件是,相同的颜色能在横、竖、斜任一一种情形下满足5子即可。所以,每当用户落子之后,算法就应该判断一下是否存在有5子满足上述情形,如果有,则游戏结束,没有,则轮另一方落子。除此之外,算法应该考虑用户落子的地方原本就有棋子的情形,遇到这种情况,对于界面来说应该是不会做任何改变,直到落子处无子,对于代码段来说,则该处的棋子不应该被覆盖,且继续该这个用户落子。
成员贡献
- 20145113林晶:五子棋界面的UI设计,部分代码的实现
20145221高其:五子棋算法的研究与设计,部分代码的实现
本周成果




改进措施
- 界面美观性还待优化,交互实现还需更加用户友好性
计划实施情况
人机部分的算法还在研究中……
总结
- 在运用Android Studio编写代码时,总感觉不稳定,有时我们小组对之前的界面不满意,准备换一个界面,然后重启安卓虚拟机时,就会重新冒出各种各样的小问题,然后又只有慢慢的调,看看是不是哪块逻辑出了问题。
- 这周还是遇到了很多小问题,看来我们对Android Studio还是不够熟练,在后续的项目中,我们不仅要加强对五子棋算法的学习,还应该多看看有关Android Studio开发的一些书籍和技术博客。
参考资料
Surprise团队第二周项目总结的更多相关文章
- Surprise团队第一周项目总结
Surprise团队第一周项目总结 团队项目 基本内容 五子棋(Gobang)的开发与应用 利用Android Studio设计一款五子棋游戏,并丰富其内涵 预期目标 实现人人模式:2个用户可以在同一 ...
- #ZLYD团队第二周项目总结
ZLYD团队第二周项目总结 项目进展 确定项目内容.目标.实现计划 首先确定游戏界面的游戏区域中墙的位置,绘制其图形,并通过其中的方法,返回墙壁的位置等属性. 根据豆子的位置,绘制其图形. 初始化吃豆 ...
- Cooperation.GTST团队第二周项目总结
项目进展 这周我们把工作主要放在了UI界面的实现上,为了让整款APP看上去能够更加高大上,我们决定采用Android 5.0开始推出的一个Material Design风格的导航控件Toolbar. ...
- Javaworkers团队第二周项目总结
本周项目进展 本周我们小组成员在图书馆和网上查阅了很多资料,基本达到了预期的计划,完成了项目框架设计及代码模块设计. 设计思路 1.首先,根据用户需求合理分配代码密度,即: 用户直接操作(点击运行)的 ...
- Surprise团队第四周项目总结
Surprise团队第四周项目总结 项目进展 这周我们小组的项目在上周的基础上进行了补充,主要注重在注册登录界面的改进优化与美观,以及关于人计算法的学习与初步实现. 我们小组针对上次APP中界面出现的 ...
- Cooperation.GTST团队第一周项目总结
Cooperation.GTST团队第一周项目总结 团队项目 项目内容:我们打算利用Android Studio开发一款博客园的Android APP,初步设想能够实现在Android手机平台使用博客 ...
- ZLYD团队第一周项目总结
ZLYD团队第一周项目总结 团队项目 项目内容:我们打算利用Applet实现一个吃豆子游戏,团队初步设定游戏规则如下: 按空格键,游戏开始: 通过方向键控制吃豆者的运动方向,直到吃光所有金豆子: 吃到 ...
- “Hello world!”团队第二周贡献分规则+贡献分数分配结果
一.贡献规则制定: (1)基础分:9 , 9 , 8 , 7 , 7 , 7 , 6(按在本次编程中承担模块的重要度制定,某一模块重要度的认定通过组内开会讨论决定) (2)会议分:每人没出勤一次会议记 ...
- Javaworkers团队第一周项目总结
项目名称:游戏贪吃蛇 项目介绍: 贪吃蛇是一款相当经典的小游戏,我们团队决定用我们现有的java知识来实现它. 具体设计: 对象:蛇.果实 方向键:控制蛇的运动. 空格键:暂停游戏 ESC:推出游戏( ...
随机推荐
- DataList无数据如何显示
<FooterTemplate> <asp:Label runat="server" ID="emptyLb" Text="No D ...
- Oracle查询数据库中的所有表
SELECT A.TABLE_NAME 表英文名, A.TAB_COMMENTS 表中文名, A.COLUMN_ID 序号, A.COLUMN_NAME 英文名, ...
- JAVA第四周作业
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream; ...
- C#3.0 扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用.对于用 C# 和 Visual ...
- TypeScript Handbook 2——接口1(翻译)
接口(Interfaces) One of TypeScript's core principles is that type-checking focuses on the 'shape' that ...
- Multivariance Linear Regression练习
%% 方法一:梯度下降法 x = load('E:\workstation\data\ex3x.dat'); y = load('E:\workstation\data\ex3y.dat'); x = ...
- Extjs中引入JSP页面
有的时候,我们可能要在某个panel中动态的引入一个jsp页面.但是ext中貌似没有这样的方法,所以这时候需要我们自定义一个组件来完成我们的需求. 1.首先定义我们的penel. Ext.define ...
- 有关attribute和property,以及各自对select中option的影响
这个问题老生常谈,但是直到现在我依旧时常会把它搞混.下面列一些各自的特性. attribute property 设置方法 option.setAttribute('selected', true ...
- JavaScript数组模拟栈和队列
*栈和队列:js中没有真正的栈和队列的类型 一切都是用数组对象模拟的 栈:只能从一端进出的数组,另一端封闭 FILO 何时使用:今后只要仅希望数组只能从一端进 ...
- js-innerHTML
innerHTML的使用: 首先看一下这个单词的表面意思:inner是内部.内部的:HTML相信大家都懂. 那么,innerHTML的意思就是设置xxxx的内部内容,并且识别HTML的标签.用法格式: ...