@Override
	public void run()
	{
		Helper.replaceFlower(this);
		msFlower = System.currentTimeMillis();
		
		while (Main.currentGame == this)
		{
			character.setBounds(x * 32, y * 32, 32, 32);
			character.setIcon(rotation.icon);
			
			flower.setBounds(fx * 32, fy * 32, 32, 32);
			
			int maxTimer = Helper.getMaxTimerFromScore(mode, score);
			int timer = (int)((msFlower + maxTimer - System.currentTimeMillis()) / 1000);
			showInfo.setText("Score: " + score + " | Timer: " + timer);
			frame.setTitle("One Flower - Playing - Score: " + score + " - Game Over In: " + timer);
			
			if (msFlower + maxTimer - System.currentTimeMillis() <= 0)
			{
				Main.currentGame = null;
				frame.setVisible(false);
				Main.frameMM.setVisible(true);
				JOptionPane.showMessageDialog(new JFrame(), String.format(Helper.arrayToString("\n", Refs.GAME_OVER), score), "Oops", JOptionPane.WARNING_MESSAGE);
			}
			
			frame.repaint();
		}
	}