@Override public void run() { double reset = getWidth() - letters[0].getWidth(); while (true) { for (int i = 0; i < letters.length; i++) { if (letters[i].getBounds().intersects(player.getBounds())) { if (letters[i].getLabel().equals("A")) score--; // A for avoid lose a point else score++; // G for get earn 1 point scoreLabel.setText("Score: " + score); // move the letter immediately letters[i].setLocation(reset, letters[i].getY()); } else { letters[i].move(-speed, 0); // wrap around if past the left edge if (letters[i].getX() < 0) letters[i].setLocation(reset, letters[i].getY()); } } pause(gameSpeed); } }