Ajuda Tetris

0 respostas
T

estou querendo desenvolver um jogo tetris como estudo, porem estou com um pouco de dificuldade na logia principalmente na criação das peças. Ate agora fiz somente a classe grid (segue) para verem se estou no caminho certo ou nao

import java.awt.Color;

public class Grid {

    private int width;
    private int height;
    private Color[][] grid = null;

    /******************************************************/
    //Construtor
    public Grid(int w, int h) {
        width = w;
        height = h;
        grid = new Color[w][h];

        //inicializa o grid
        initGrid();
    }

    /******************************************************/
    /**Retorna o width*/
    public int getWidth() {
        return width;
    }

    /**Retorna o height*/
    public int getHeight() {
        return height;
    }

    /**Retorna o grid*/
    public Color[][] getGrid() {
        return grid;
    }

    /******************************************************/
    /**Inicializa/zera as posições do grid*/
    public void initGrid() {

        for (int w = 0; w < width; w++) {
            for (int h = 0; h < height; h++) {
                grid[w][h] = null;
            }
        }

    }

    /******************************************************/
    /**Verifica se a linha esta vazia*/
    public boolean isLineEmpty(int line) {

        if (line < 0 || line >= height) { //verifica se a linha é valida
            return false;
        } else {
            for (int w = 0; w < width; w++) {
                if (grid[w][line] != null) {
                    return false;
                }
            }
        }
        return true;

    }

    /******************************************************/
    /**verifica se a posicao do grid esta vazia*/
    public boolean isEmptyPos(int x, int y) {

        if ((x >= 0 && x < width) && (y >= 0 && y < height)) {//Verifica se a linha é valida
            if (grid[x][y] == null) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }

    }

    /******************************************************/
    /**Verifica se a linha esta cheia*/
    public boolean isLineFull(int line) {

        if (line < 0 || line >= height) {
            return true;
        } else {
            for (int w = 0; w < width; w++) {
                if (grid[w][line] == null) {
                    return false;
                }
            }
        }

        return true;
    }

    /******************************************************/
    /**Verifica se o grid contem linhas cheias*/
    public boolean hasFullLines() {
        for (int h = height - 1; h >= 0; h--) {
            if (isLineFull(h)) {
                return true;
            }
        }
        return false;
    }

    /******************************************************/
    //Teste
    public void show() {
        for (int h = 0; h < height; h++) {
            for (int w = 0; w < width; w++) {
                System.out.println("[" + w + "," + h + "] - " + grid[w][h]);
            }
        }
    }
    /******************************************************/
}
Criado 9 de junho de 2009
Respostas 0
Participantes 1