public void run() {
		Thread[] players = new Thread[p.length];
		for(int i=0;i<p.length;i++){
			p[i].addListener(game);
			players[i] = new Thread(p[i]);
		}
		for(int i=0;i<p.length;i++)
			players[i].start();
		dt.cameraAnimation();
		while(running){
			beginLoopTime = System.nanoTime();

				dt.display();
	
				lastUpdateTime = currentUpdateTime;
				currentUpdateTime = System.nanoTime();
	
				temp = (int) ((currentUpdateTime - lastUpdateTime)/(1000*1000));
				game.time(temp);

			endLoopTime = System.nanoTime();
			deltaLoop = endLoopTime - beginLoopTime;
			if(deltaLoop >= desiredDeltaLoop){
			//Do nothing. We are already late.
				System.out.println("late");
			}else{
				try{
					Thread.sleep((desiredDeltaLoop - deltaLoop)/(1000*1000));
				}catch(InterruptedException e){
				//Do nothing
					e.printStackTrace();
				}
			}

		}
		for(int i=0;i<p.length;i++)
			p[i].end();
	}