代码改变世界

团队博客第二周

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 刘俊谦