public void run() {

		try {
			completionScreen = ImageIO.read(getClass().getResourceAsStream(
					"endgame.jpg"));
			gameOverScreen = ImageIO.read(getClass().getResourceAsStream(
					"gameover.jpeg"));

		} catch (IOException e1) {

			e1.printStackTrace();
		}
		cursor = true;
		menu = new Menu("megaman_menu.jpg", "menuSprites.png", "MegaMan7.gif");

		player = new Player("space_player.png");
		player.setFacingRight(true);

		lobsters = new ArrayList<Lobster>();
		
		killBots = new ArrayList<KillBot>();
		
		lazer = new ArrayList<Laser>();
		
		kbLaser = new ArrayList<KillBotLaser>();
		
		blastikLaser = new ArrayList<BlastikLaser>();
		

		
		while (true) {

			if (player.dead) {
				System.out.println("Game Over");
			}
			if (levelOneState && !levelOneSet) {
				levelOneSetUp();

			}
			if (levelOneBState && !levelOneBSet) {
				levelOneBSetUp();
			}
			if (levelOneCState && !levelOneCSet) {
				levelOneCSetUp();
			}
			if (levelOneDState && !levelOneDSet) {
				levelOneDSetUp();
			}
			
			if(!pauseGame){
				
			
			player.update();
			createLazer();
			updateLaser();
			lobsterPlayerCollision();
			;
			
			//killbot laser
			createKillBotLaser();
			updateKillBotLaser();
			
			//TODO
			//blastik laser
			if(levelOneDState){
				blastikPlayerCollision();		
				createBlastikLaser();
				updateBlastikLaser();
				blastik.update();
			}
			
			
			

			for (int i = 0; i < killBots.size(); i++){
				killBots.get(i).update();
			}
			for (int i = 0; i < lobsters.size(); i++){
				lobsters.get(i).update();
			}
			if(levelOneDState){
			blastik.update();
			}
			

			checkMapCollision();
			}
			repaint();

			try {
				Thread.sleep(15);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}