public void updateGame(long gameTime, Point mousePosition) {
		// Create new target, if it's time, and add to array
		if (System.nanoTime() - Target.lastTargetTime > Target.timeBetweenTargets) {
			// Random target

			targetImgCurrent = targetImg[rand.nextInt(targetImg.length)];
			// Create new target and add to array
			targets.add(new Target(Target.targetLines[Target.nextTargetLines][0]
					+ rand.nextInt(200), Target.targetLines[Target.nextTargetLines][1],
					Target.targetLines[Target.nextTargetLines][2],
					Target.targetLines[Target.nextTargetLines][3], targetImgCurrent));

			// Here we increase nextTargetLines so the next target will be created
			// on the next line
			Target.nextTargetLines++;
			if (Target.nextTargetLines >= Target.targetLines.length) {
				Target.nextTargetLines = 0;
			}

			Target.lastTargetTime = System.nanoTime();
		}

		// Update all targets
		for (int i = 0; i < targets.size(); i++) {
			// Move targets
			targets.get(i).Update();

			// Checks if target leaves screen and then removes
			if (targets.get(i).x < 0 - targetImgCurrent.getWidth()) {
				targets.remove(i);
				runawayTargets++;
			}
		}

		// Does player shoot?
		if (Canvas.mouseButtonState(MouseEvent.BUTTON1)) {
			// Check if player can shoot again
			if (System.nanoTime() - lastTimeShoot >= timeBetweenShots) {
				shoots++;

				// Check if any targets were hit
				for (int i = 0; i < targets.size(); i++) {
					// Check if mouse was over target's head or body when player
					// shot
/*
					if (new Rectangle(targets.get(i).x + 18, targets.get(i).y, 27,
							30).contains(mousePosition)
							|| new Rectangle(targets.get(i).x + 30,
									targets.get(i).y + 30, 88, 25)
									.contains(mousePosition)) {
*/
					if (new Rectangle(targets.get(i).x, targets.get(i).y, 100, 150).contains(mousePosition)) {
						killedTargets++;
						score += targets.get(i).score;

						// Remove targets if shot
						targets.remove(i);

						// A target was shot (one kill per bullet) so leave the
						// FOR loop
						break;
					}
				}

				lastTimeShoot = System.nanoTime();
			}
		}

		// When X targets runaway, the game ends
		if (runawayTargets > 20) {
			Framework.gameState = Framework.GameState.GAMEOVER;

		}
	}