public void mainloop()
	{
		Initialisierung();

		//Rand erstellen
		Lines.clear();
		Lines.add(new int[]{0, 0, blaenge, 0});
		Lines.add(new int[]{blaenge, 0, blaenge, bbreite});
		Lines.add(new int[]{blaenge, bbreite, 0, bbreite});
		Lines.add(new int[]{0, bbreite, 0, 0});

		//Standardtor setzen
		Goals.clear();
		Goals.add(new int[]{(int) (blaenge*0.5),(int) (bbreite*0.5)});
		
		//Simulationsschleife
		while(escape == false)
		{			
			//Kritische Eingabe behandeln
			if(deleteball)
			{
				deleteBall(draggedpos[0], draggedpos[1]);
				deleteball = false;
			}
			if(deletegoal)
			{
				deleteGoal(draggedpos[0], draggedpos[1]);
				deletegoal = false;
			}
			if(deletelines)
			{
				deleteLines(new Rectangle(movedpos[0], movedpos[1], draggedpos[0], draggedpos[1]));
				deletelines = false;
			}
			
			//Baelle loeschen, die ihr Ziel erreicht haben und fps berechnen
			int frames = 0;
			for(int i=0; i<Balls.size(); i++)
			{
				frames += Balls.elementAt(i).getFPS();
				if(Balls.elementAt(i).finished())
				{
					Balls.elementAt(i).stop();
					Balls.remove(i);
				}
			}
			fps = frames / (Balls.size()+1);
			
			//Bild ausgeben
			Fenster.repaint();
			
			//Rechenzeit sparen
			try{Thread.sleep(16);} 
			catch (InterruptedException e) {e.printStackTrace();}
		}
		Ende();
	}