package com.tacoid.pweek.logic; import java.util.ArrayList; public class Explosion { private int nbPuyos; private int[][] DIR = { { -1, 0 }, { 1, 0 }, { 0, -1 }, { 0, 1 } }; private ArrayList<Coord> removes; private long explosionDate = 0; public int points = 0; public double angle; public Explosion(GameLogic logic, ArrayList<Coord> removes) { this.nbPuyos = removes.size(); this.removes = removes; this.explosionDate = System.currentTimeMillis(); ArrayList<Coord> removeGarbage = new ArrayList<Coord>(); for (Coord coord : removes) { for (int[] dir : DIR) { if (coord.l + dir[0] >= 0 && coord.l + dir[0] < GameLogic.LINES && coord.c + dir[1] >= 0 && coord.c + dir[1] < GameLogic.COLUMNS) { if (logic.grid[(int)coord.l + dir[0]][(int)coord.c + dir[1]] == logic.GARBAGE) { removeGarbage.add(new Coord(coord.l + dir[0], coord.c + dir[1], logic.GARBAGE)); } } } } removes.addAll(removeGarbage); for (Coord coord : removes) { logic.grid[(int)coord.l][(int)coord.c] = 0; } } public int getNbPuyos() { return nbPuyos; } public ArrayList<Coord> getExplosions() { return removes; } public long getExplosionDate() { return explosionDate; } }