public void paint(Graphics g) {
		super.paint(g);
		
		//Make the square objects
		DrawSquareWithColour redSquare      = new DrawSquareWithColour();
		DrawSquareWithColour blueSquare     = new DrawSquareWithColour();
		DrawSquareWithColour greenSquare    = new DrawSquareWithColour();
		DrawSquareWithColour yellowSquare   = new DrawSquareWithColour();

		//Draw the squares
		redSquare.DrawSquare   (g, false, Color.red,    450, 100);
		blueSquare.DrawSquare  (g, false, Color.blue,   700, 100);
		greenSquare.DrawSquare (g, false, Color.green,  450, 350);
		yellowSquare.DrawSquare(g, false, Color.yellow, 700, 350);
		
		//Stops the thread long enough so if the same colour is shown twice there is a noticeable gap
		try {
			Thread.sleep(200);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		switch (shapeToColour) {
		case 0:			
			redSquare.DrawSquare(g, true, Color.red, 450, 100);
			gameInput.add(0);//Add the number corresponding to the colour to the array
			break;

		case 1:
			blueSquare.DrawSquare(g, true, Color.blue, 700, 100);
			gameInput.add(1);
			break;
			
		case 2:
			greenSquare.DrawSquare(g, true, Color.green, 450, 350);
			gameInput.add(2);
			break;
			
		case 3:
			yellowSquare.DrawSquare(g, true, Color.yellow, 700, 350);
			gameInput.add(3);
			break;
		}
		
		if (win) {
			new FinishGameImage(g, 50, 350);
		}
		
		
				
	}