选择困难症的福音——团队Scrum冲刺阶段-Day 7

今日进展

测试代码

将界面设计完后放app使用示意图于此

今日贡献量

严域俊 吴恒佚 曾程 刘辰 邓煜坤
3.5 3.5 3.3 3.6 3

贡献量汇总

日期 严域俊 吴恒佚 曾程 刘辰 邓煜坤
第2天 3 3.5 2.5 3.2 2.6
第3天 3.5 3.5 3.3 3.6 3
第4天 3.5 3.5 3.3 3.6 3
第5天 3.4 3.1 3.3 3.5 3.1
第6天 3.4 3 3 3.5 3.2
第7天 3.5 3.5 3.3 3.6 3
合计 20 21 19 21 19

站立式会议

TODOlist

项目的发布说明

  • CanMoveToLeft(能否左移动)、CanMoveToRight(能否右移动)

    构建的方法:2个依据,根据方块的x方位与本体所占的格之和是否与最大(最小)x轴重合或者已有方块重合
public static boolean canMoveToLeft(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : blockUnits) {
int x = blockUnit.x;
if (x - UNIT_SIZE < BEGIN) {
return false;
}
int y = blockUnit.y;
if (isSameUnit(x - UNIT_SIZE, y, allBlockUnits)) {
return false;
}
}
return true;
}
public static boolean canMoveToRight(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : blockUnits) {
int x = blockUnit.x;
if (x + UNIT_SIZE > max_x - UNIT_SIZE) {
return false;
}
int y = blockUnit.y;
if (isSameUnit(x + UNIT_SIZE, y, allBlockUnits)) {
return false;
}
}
return true;
}
  • CanMoveToDown(能否向下)

    构建的方法:2个依据,方块的y轴+方块大小是否到底,以及是否重合。
public static boolean canMoveToDown(List<BlockUnit> blockUnits, int max_y, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : blockUnits) {
int x = blockUnit.x;
int y = blockUnit.y + UNIT_SIZE * 2;
if (y > max_y - UNIT_SIZE) {
return false;
}
if (isSameUnit(x, y, allBlockUnits)) {
return false;
}
}
return true;
}

以上方法均为循环(知识点:列表)

  • CanRoute(能否旋转)

    构建方法:1个依据、是否有重叠的方块,调用isSameUnit
public static boolean canRoute(List<BlockUnit> blockUnits, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : blockUnits) {
if (isSameUnit(blockUnit.x, blockUnit.y, allBlockUnits)) {
return false;
}
}
return true;
}
  • CanCoutinueGame(能否继续游戏)

    构建方法:1个依据、y轴是否小于等于y轴最高
public static boolean canContinueGame(List<BlockUnit> allBlockUnits) {
if (allBlockUnits.size() == 0) {
return true;
}
for (BlockUnit blockUnit : allBlockUnits) {
if (blockUnit.y <= BlockUnit.BEGIN) {
return false;
}
}
return true;
}
  • toLeft、toRight、toDown(左、右、下移)

    构建方法:进行相应的Canxx方法判断左、右、下移进行改动对应的x、y值
public static boolean toLeft(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
if (canMoveToLeft(blockUnits, max_x, allBlockUnits)) {
for (BlockUnit blockUnit : blockUnits) {
blockUnit.x = blockUnit.x - UNIT_SIZE;
}
return true;
}
return false;
}
public static boolean toRight(List<BlockUnit> blockUnits, int max_x, List<BlockUnit> allBlockUnits) {
if (canMoveToRight(blockUnits, max_x, allBlockUnits)) {
for (BlockUnit blockUnit : blockUnits) {
blockUnit.x = blockUnit.x + UNIT_SIZE;
}
return true;
}
return false;
}
public static void toDown(List<BlockUnit> blockUnits, int max_Y, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : blockUnits) {
blockUnit.y = blockUnit.y + BlockUnit.UNIT_SIZE;
}
}
  • isSameUnit(相同方法)

    构建方法:与之前找相同判断类似
public static boolean isSameUnit(int x, int y, List<BlockUnit> allBlockUnits) {
for (BlockUnit blockUnit : allBlockUnits) {
if (Math.abs(x - blockUnit.x) < UNIT_SIZE && Math.abs(y - blockUnit.y) < UNIT_SIZE) {
return true;
}
}
return false;
}
  • remove(满减)

    构建方法:当达到满的时候,进行逆向遍历得到该行,并删除该行

    (知识点:逆向遍历)
public static void remove(List<BlockUnit> allBlockUnits, int j) {
for (int i = allBlockUnits.size() - 1; i >= 0; i--) { if ((int) ((allBlockUnits.get(i).y - BEGIN) / 50) == j)
allBlockUnits.remove(i);
}
}
  • GameConfit(游戏布局)

    把速度设计为400

  • NextBlockView(定义了下一个方块的构建)

    调用android.Content.Context

android.Content.Context 知识点
android.graphics.Canvas 背景
android.graphics.Color 颜色
android.graphics.Paint 绘画
android.graphics.RectF 网格

利用的知识点是数组列表

NextBlockView(其构造方法):

  1. 用于设置背景颜色
  2. 用于设置方块颜色
  • FetrisActivityAW(俄罗斯方块主程序)

    调用:1. NextBlockView

    2. TetrisViewAW

    StartGame:调用T·etrisViewAW中的同名方法

    PauseGame:调用T·etrisViewAW中的同名方法

    ContinueGame:调用T·etrisViewAW中的同名方法

    StopGame:调用T·etrisViewAW中的同名方法,并将得分设置为0

    to Left、to Right、to Route、on Destroy:前三个方法调用调用T·etrisViewAW中的同名方法,最后一个调用调用T·etrisViewAW中的stopGame方法

  • TetrisViewAw(定义基本参数和运动方法)

    变量:beginpoint=10(网格开始值与横坐标开始值)

    Max_x、Max_y:俄罗斯方块的最大坐标

    num_x=0,num_y=0:行数和列数

    paintWall:背景画笔 使用的Paint

    paintBlock:单元块画笔 使用的Paint

  • map[100]:每一行网格中俄罗斯方块的个数

    主要方法:

    • OnDraw(绘制网格、构建方块(单个及所有))
    • Startgame:根据定义变量mainThread的状态(true、false、null来判断开始下一局)
    • pauseGame:根据主要变量runningstatus状态调节为false进行暂停
    • continueGame:将runningstatus、gamestatues、mainThread均调为false或null,并清除方块,再出现“游戏结束”信息
    • toLeft、toRight、route这些方法至于之前的定义类似
    • trainY:调用trainYoneBlock方法,用于判断方块外出界恢复情形方块处于边缘的时候,翻转的话有可能出位,这个方法用于递归判断是否出位并左右平移进行修改
    • routeTran:类似trainY
    • getNewBlock:用于获取新的方块,并显示下一个方块
    • deleteBlock:与前面类中的方法类似
    • 定义类中类(私有):MainThread主线程
    • run:该方法用于判断是否可以下落、可否消除、可否继续、更新网络中的方格,刷新分数
    • TetrisBlock:returnUnit:随机产生一种方块,其中种类随机、方向默认、定义了7个类型方块,到时候可以以随机数的形式进行选择
  • FetrisActivityAW(俄罗斯方块主程序)

    调用:1. NextBlockView

    2. TetrisViewAW

    StartGame:调用T·etrisViewAW中的同名方法

    PauseGame:调用T·etrisViewAW中的同名方法

    ContinueGame:调用T·etrisViewAW中的同名方法

    StopGame:调用T·etrisViewAW中的同名方法,并将得分设置为0

    to Left、to Right、to Route、on Destroy:前三个方法调用调用T·etrisViewAW中的同名方法,最后一个调用调用T·etrisViewAW中的stopGame方法

决策树的类图



数据库类图



主方法类图



主方法类图重新排序的



俄罗斯方块类图



贪吃蛇类图

选择困难症的福音——团队Scrum冲刺阶段-Day 7的更多相关文章

  1. 选择困难症的福音——团队Scrum冲刺阶段-Day 1领航

    选择困难症的福音--团队Scrum冲刺阶段-Day 1领航 各个成员在 Alpha 阶段认领的任务 小组成员 分工 任务量 严域俊 完成小游戏接口部分.小游戏编写部分 21 吴恒佚 决策判断部分.小游 ...

  2. 选择困难症的福音——团队Scrum冲刺阶段-Day 2

    选择困难症的福音--团队Scrum冲刺阶段-Day 2 今日进展 编写提问部分 如何将不同的问题选项连接到不同的下一个问题 如何保证问题的链接不会弄丢 登陆注册界面 完成密码可见与不可见的更改 ui界 ...

  3. 选择困难症的福音——团队Scrum冲刺阶段-Day 3

    选择困难症的福音--团队Scrum冲刺阶段-Day 3 今日进展 编写提问部分 做了不同问题所对应的游戏选项,但关于游戏分类的界面还没有做完 登陆注册界面 更改ui界面,ui界面终于变好看了:) 学习 ...

  4. 选择困难症的福音——团队Scrum冲刺阶段-Day 4

    选择困难症的福音--团队Scrum冲刺阶段-Day 4 今日进展 编写提问部分 做了不同问题所对应的游戏选项,但关于游戏分类的界面还没有做完 增加功能 昨天在主界面增加"关于我们" ...

  5. 选择困难症的福音——团队Scrum冲刺阶段-Day5(补发 那天csshow)

    选择困难症的福音--团队Scrum冲刺阶段-Day 5 今日进展 编写提问部分 游戏分类的界面 将之前错误的图标改正 关于我们的俄罗斯方块,今天有了新的进展 NextBlockView(定义了下一个方 ...

  6. 团队Scrum冲刺阶段-Day 6

    选择困难症的福音--团队Scrum冲刺阶段-Day 6 今日进展 编写提问部分 游戏分类的界面全部写完了!!!! 临时大家决定没有BGM的app不是一个完整的app,所以在大家共同学习的努力下,听完四 ...

  7. 高能天气——团队Scrum冲刺阶段-Day 1-领航

    高能天气--团队Scrum冲刺阶段-Day 1-领航 各个成员在 Alpha 阶段认领的任务 经过重新的团队讨论,我们最新确定的α版本所需实现内容如下: 查找城市:切换城市按钮.滑动界面视图 天气预报 ...

  8. 高能天气——团队Scrum冲刺阶段-Day 2

    高能天气--团队Scrum冲刺阶段-Day 2 今日完成任务 于欣月:实现滑动界面视图,天气预报UI组件的初步优化 滑动界面 实现代码 //Activity中 //请求新选择城市的天气信息 navBu ...

  9. 高能天气——团队Scrum冲刺阶段-Day 7 总结

    高能天气--团队Scrum冲刺阶段-Day 7 总结 今日完成任务 于欣月:修改项目说明书,帮助修改应用 余坤澎:进行应用整合的收尾工作 康皓越:进行应用整合的收尾工作 范雯琪:修改项目说明书,完成项 ...

随机推荐

  1. JS Replace 全部替换字符的用法小结

    script language="javascript">var r= "1\n2\n3\n";//将字母\n替换成分号alert(r.replace(& ...

  2. javaScript 中的私有,共有,特权属性和方法

    function constructor () { var private_v; // 私有属性 var private_f = function () { // 私有方法 // code }; th ...

  3. 阅读 Device Driver Programmer Guide 笔记

    阅读 Device Driver Programmer Guide 笔记 xilinx驱动命名规则 以X开头 源文件命名规则 以x打头 底层头文件与高级头文件 重点来了,关于指针的使用 其中 XDev ...

  4. Docker Images for MySQL Group Replication 5.7.14

    In this post, I will point you to Docker images for MySQL Group Replication testing. There is a new ...

  5. VS2012 安装 NPOI (管理NuGet程序包)

    问题背景 选择项目后右键==>管理NuGet程序包,搜索NPOI,返回服务器无法找到...404 解决方法: 第一步: 访问:https://www.nuget.org/api/v2/      ...

  6. 【python】如何将ipdb的python解释器路径切换至虚拟环境中

    背景: 利用virtualenv构建一个python3.5的虚拟环境,在该虚拟环境中使用ipdb调试程序,结果报错找不到某一个模块. 程序的所有依赖模块都已经成功安装在虚拟环境中. 在虚拟环境中,te ...

  7. LINUX 查看当前系统的内存使用情况 vmstat

    Linux vmstat 命令 Vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况. 相比 ...

  8. 随机森林RandomForest

    ID3,C4.5决策树的生成: 输入:训练集D,特征集A,阈值eps, 输出:决策树T 若D中所有样本属于同一类Ck,则T为单节点树,将类Ck作为该结点的类标记,返回T: 若A为空集,即没有特征作为划 ...

  9. Python中字符串/字典/json之间的转换

    import json #定义一个字典d1,字典是无序的 d1 = { "a": None, "b": False, "c": True, ...

  10. javaee_正则表达式基础和常用表达式

    正则基础: 1.1 -字符集 [ ] : 代表单个字符. [^] : 除了该字符外的所有单个字符. [a-zA-Z] : [a-z] || [A-Z]. [a-d[m-p]] :[a, d] || [ ...