public void cycle() {
		// TODO
		int flag = 0;
		List<Cell> new_list = new ArrayList<Cell>();
		for (int i = 0; i < this.width; i++) {
			for (int j = 0; j < this.height; j++) {
				Cell c = new Cell(i, j);
				for (int nbr = 0; nbr < this.cells.size(); nbr++) {
					if ((this.cells.get(nbr).getX() == i)
							&& (this.cells.get(nbr).getY() == j)) {
						flag = 1;
					}
				}
				if (flag == 1) {
					if ((this.getNeighbors(c).size() == 2)
							|| (this.getNeighbors(c).size() == 3))
						new_list.add(c);
				} else {
					if (this.canBorn(c))
						new_list.add(c);
				}
				flag = 0;
			}
		}
		this.cells = new_list;
	}