public void update() {  //Update the seperate classes
		for (int i = 0; i < nlakes; i++) {
			lakes[i].Update();
		} for (int j = 0; j < ncraters; j++) {
			craters[j].Update();
		} for (int k = 0; k < narchers; k++) {
			archers[k].Update(gtargets);
			
			for (int i = 0; i < archers[k].arrows.size(); i++) {
				if (!defences.contains(archers[k].arrows.get(i))) {
					defences.add(archers[k].arrows.get(i));
				}
			}
		} for (int l = 0; l < nwarriors; l++) {
			warriors[l].Update(gtargets);
		} for (int m = 0; m < nwalls; m++) {
			walls[m].Update();
		}
		hero.Update2();
		
	}