选择困难症的福音——团队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. sql 不够七位数 在左侧自动补零 ,并循环插入N条记录

    select right(cast('0000000000'+rtrim(字段) as varchar(20)),7) declare @i intdeclare @qid int set @i=1s ...

  2. c++ CreateProcess调用dos命令

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> #include &l ...

  3. redis 双写一致性 看一篇成高手系列1

    首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作. 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存.又或者 ...

  4. Verilog HDL中的运算符关系

    1,位运算符 按位运算的运算符是位运算符,原来的操作数有几位,结果就有几位,若两个操作数位数不同,则位数短的操作数左端会自动补0. (1),按位取反:~ (2),按位与:& (3),按位或:| ...

  5. Webservices部署在IIS6.0上的一个小问题

    部署方式还是跟网站的部署方式一样,可是通过localhost访问一直提示400(bad request)错误. 可以在iis上预览到.在vs上引用的时候怎么都预览不到. 换个思路,把localhost ...

  6. android AES 加密解密

    import java.security.Provider; import java.security.SecureRandom; import javax.crypto.Cipher; import ...

  7. 2017-2018-2 20165312 课下选做 MySort

    2017-2018-2 20165312 课下选做 MySort 题目描述 模拟实现Linux下Sort -t : -k 2的功能,参考 Sort的实现. import java.util.*; pu ...

  8. MOBA英雄AI设计分享

    转自:http://www.gamelook.com.cn/2018/07/333877 文/wataloo 1  设计概要 1.1  设计原则和目的 英雄AI的目的主要有: 1.新手过渡局,让玩家刚 ...

  9. gopath环境变量设置

    #在国内镜像下载二进制包 wget -c  http://www.golangtc.com/static/go/go1.4.1.linux-amd64.tar.gz tar -C /usr/local ...

  10. leetcode53

    public class Solution { public int MaxSubArray(int[] nums) { int max = int.MinValue; ; ; i < nums ...