final protected void update(){
		if(createWhen()){
			list.add(create());
		}
		for(int i=0;i<list.size();i++){
			SingleObject bl=list.get(i);
			if(inRange(bl)){
				whenCrash();
			}
			if(removeWhen(bl)){
				list.remove(bl);
				i--;
			}
		}
		
		for(int i=0;i<list.size();i++){
			SingleObject bl=list.get(i);
			bl.move();
		}
	}