团队博客第二周
2016-07-12 08:38 614Java学习团队 阅读(164) 评论(0) 编辑 收藏 举报第二周实现计划:构建主框架以及初期代码的编写
项目内容:
俄罗斯方块
项目主要框架:
游戏主要有开始、暂停、继续、停止等控制选项,上下左右分别表示俄罗斯方块的旋转、下加速、左移、右移。生成方块、每种方块的形态的表示、消行加分、gameover判断等
部分代码的编写:
// 左移
public void left() {
if (blow(x - 1, y, blockType, turnState) == 1) {
x = x - 1;
}
;
repaint();
}
// 右移
public void right() {
if (blow(x + 1, y, blockType, turnState) == 1) {
x = x + 1;
}
;
repaint();
}
// 下落
public void down() {
if (blow(x, y + 1, blockType, turnState) == 1) {
y = y + 1;
delline();
}
;
if (blow(x, y + 1, blockType, turnState) == 0) {
add(x, y, blockType, turnState);
newblock();
delline();
}
;
repaint();
}
// 消行
public void delline() {
int c = 0;
for (int b = 0; b < 22; b++) {
for (int a = 0; a < 12; a++) {
if (map[a][b] == 1) {
c = c + 1;
if (c == 10) {
score += 10;
for (int d = b; d > 0; d--) {
for (int e = 0; e < 11; e++) {
map[e][d] = map[e][d - 1];
}
}
}
}
}
c = 0;
}
}
// 生成方块
public void paintComponent(Graphics g) {
super.paintComponent(g);
for (j = 0; j < 16; j++) {
if (shapes[blockType][turnState][j] == 1) {
g.fillRect((j % 4 + x + 1) * 10, (j / 4 + y) * 10, 10, 10);
}
}
for (j = 0; j < 22; j++) {
for (i = 0; i < 12; i++) {
if (map[i][j] == 1) {
g.fillRect(i * 10, j * 10, 10, 10);
}
if (map[i][j] == 2) {
g.drawRect(i * 10, j * 10, 10, 10);
}
}
}
g.drawString("score=" + score, 125, 10);
g.drawString("145318赵 一", 125, 50);
g.drawString("145322何志威", 125, 70);
g.drawString("145312袁 心", 125, 90);
g.drawString("145310刘宇飞", 125, 110);
g.drawString("145303刘俊谦", 125, 130);
}
团队成员:
20145318 赵 一
20145322 何志威
20145312 袁 心
20145310 刘宇飞
20145303 刘俊谦