站立式会议会后总结
成员 | 任务 | 进度 |
---|
涂舒 | 手机号码登录功能实现,手机号码注册功能实现 | ✔ |
郑乾睿 | 搜集料,博客攥写 | 99% |
吴德旋 | 提交样例demo | ✔ |
马驭 | 实现分数相关模型 | ✔ |
刘伟键 | 提交demo运行完成截图 | ✔ |
成员 | 任务 | 进度 |
---|
涂舒 | 账号切换交互页面,展示个人信息页面 | ✔ |
郑乾睿 | 搜集料,博客攥写 | 99% |
周盟棋 | 同色方块消除模型 | ✔ |
马驭 | 数据爬虫环境配置,数据爬取并清洗 | ✔ |
项目燃尽图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/75ca6a3de282671f35008b0b2ad95b54.png)
代码/文档签入记录
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/783a8c618a745cad1732f2c4ffbfd005.png)
适当的项目程序/模块的最新(运行)截图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1d7fcafd3d519b6d8aa1acc1bd68681d.png)
@Override
public void paint(Graphics g) {
g.drawImage(background, 0, 0, null);
g.translate(22, 15);
paintWall(g);
paintCurrentOne(g);
paintNextOne(g);
paintSource(g);
paintState(g);
}
public void start() {
game_state = PLING;
KeyListener l = new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int code = e.getKeyCode();
switch (code) {
case KeyEvent.VK_DOWN:
sortDropActive();
break;
case KeyEvent.VK_LEFT:
moveleftActive();
break;
case KeyEvent.VK_RIGHT:
moveRightActive();
break;
case KeyEvent.VK_UP:
rotateRightActive();
break;
case KeyEvent.VK_SPACE:
hadnDropActive();
break;
case KeyEvent.VK_P:
if (game_state == PLING) {
game_state = STOP;
}
break;
case KeyEvent.VK_C:
if (game_state == STOP) {
game_state = PLING;
}
break;
case KeyEvent.VK_S:
game_state = PLING;
wall = new Cell[18][9];
currentOne = Tetromino.randomOne();
nextOne = Tetromino.randomOne();
totalScore = 0;
totalLine = 0;
break;
}
}
};
this.addKeyListener(l);
this.requestFocus();
while (true) {
if (game_state == PLING) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (camDrop()) {
currentOne.moveDrop();
} else {
landToWall();
destroyLine();
if (isGameOver()) {
game_state = OVER;
} else {
currentOne = nextOne;
nextOne = Tetromino.randomOne();
}
}
}
repaint();
}
}
public void rotateRightActive() {
currentOne.rotateRight();
if (outOFBounds() || coincide()) {
currentOne.rotateLeft();
}
}
public void hadnDropActive() {
while (true) {
if (camDrop()) {
currentOne.moveDrop();
} else {
break;
}
}
landToWall();
destroyLine();
if (isGameOver()) {
game_state = OVER;
} else {
currentOne = nextOne;
nextOne = Tetromino.randomOne();
}
}
public void sortDropActive() {
if (camDrop()) {
currentOne.moveDrop();
} else {
landToWall();
destroyLine();
if (isGameOver()) {
game_state = OVER;
} else {
currentOne = nextOne;
nextOne = Tetromino.randomOne();
}
}
}
private void landToWall() {
Cell[] cells = currentOne.cells;
for (Cell cell : cells) {
int row = cell.getRow();
int col = cell.getCol();
wall[row][col] = cell;
}
}
public boolean camDrop() {
Cell[] cells = currentOne.cells;
for (Cell cell : cells) {
int row = cell.getRow();
int col = cell.getCol();
if (row == wall.length - 1) {
return false;
} else if (wall[row + 1][col] != null) {
return false;
}
}
return true;
}
public void destroyLine() {
int line = 0;
Cell[] cells = currentOne.cells;
for (Cell cell : cells) {
int row = cell.getRow();
if (isFullLine(row)) {
line++;
for (int i = row; i > 0; i--) {
System.arraycopy(wall[i - 1], 0, wall[i], 0, wall[0].length);
}
wall[0] = new Cell[9];
}
}
totalScore += scores_pool[line];
totalLine += line;
}
public boolean isFullLine(int row) {
Cell[] cells = wall[row];
for (Cell cell : cells) {
if (cell == null) {
return false;
}
}
return true;
}
public boolean isGameOver() {
Cell[] cells = nextOne.cells;
for (Cell cell : cells) {
int row = cell.getRow();
int col = cell.getCol();
if (wall[row][col] != null) {
return true;
}
}
return false;
}
每日每人总结
成员 | 总结 |
---|
涂舒 | 冲冲冲 |
郑乾睿 | 成功就在眼前 |
周盟棋 | 能力明显得到增强 |
马驭 | 辛苦大家了 |