@Override
	public void run() {
		startTime = System.currentTimeMillis();
		while(isMatch){
			if(!isPaused){
				
				invokeTricks();
				
				spawnEnemies();
				
				checkPoints();
				
				moveAll();
				
				fireMissiles();
				
				fireEnemiesLasers();
				
				collisionCheck();
				
				cheatCheck();
				
				setHighScore();
				
				resetter();
				
				repaint();
				
				try{
					Thread.sleep(Math.max(1, REFRESH_INTERVAL_MS));
				}catch(InterruptedException ie){
					System.out.println("Thread interrupted. There will be a temporary FPS change.");
					System.out.println(ie);
				}
				
				endTime = System.currentTimeMillis();
				elapsedTime = endTime - startTime;
				
				// realFPS = 1000 / (currentTime - endTime);
			}
		}
		repaint();
		
	}