[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/pandim/JavaSweeper/master/src/sweeper/Bomb.java [Back]  [Original]

package sweeper;

class Bomb {
    private Matrix bombMap;
    private int totalBombs;

    Bomb(int totalBombs) {
        this.totalBombs = totalBombs;
        fixBombCount();
    }

    void start() {
        bombMap = new Matrix(Box.ZERO);
        for (int j = 0; j < totalBombs; j++)
            placeBomb();
    }

    Box get(Coord coord) {
        return bombMap.get(coord);
    }

    int getTotalBombs(){
        return totalBombs;
    }

    private void fixBombCount(){
        int maxBombs = Ranges.getSize().x*Ranges.getSize().y/2;
        if (totalBombs > maxBombs) totalBombs = maxBombs;
    }

    private void placeBomb() {
        while (true) {
            Coord coord = Ranges.getRandomCoord();
            if (Box.BOMB == bombMap.get(coord))
                continue;
            bombMap.set(coord, Box.BOMB);
            incNumbersAroundBomb(coord);
            break;
        }

    }

    private void incNumbersAroundBomb(Coord coord) {
        for (Coord around : Ranges.getCoordsAround(coord))
            if (Box.BOMB != bombMap.get(around))
                bombMap.set(around, bombMap.get(around).nextNumberBox());
    }
}

Web Proxy Viewer  |  New URL  |  Original Page