public void update() {
		camera.update();
		Iterator<Block> it = blocks.iterator();
		while(it.hasNext()) {
			Block b = it.next();
			if(b instanceof WeaponBlock) {
				WeaponBlock wb = (WeaponBlock) b;
				wb.update(blocks, enemies);
			}
			else {
				b.update(blocks);
			}
			
		}
		
		Iterator<Enemy> itEnemies = enemies.iterator();
		while(itEnemies.hasNext()) {
			Enemy e = itEnemies.next();
			if(e.update(blocks)) {
				itEnemies.remove();
			}
			if(enemies.size == 0) {
				newRound();
			}
			// loss condition
			if(e.getRoot().getX() <= 0) {
				main.endScreen.result = false;
				main.setScreen(main.endScreen);
			}
		}
	}