public void render() {
		BufferStrategy bs = getBufferStrategy();
		if (bs == null) {
			createBufferStrategy(3);
			return;
		}

		Graphics g = bs.getDrawGraphics();

		// ///////////////////////////////
		g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
		g.drawImage(background, 0, 0, getWidth(), getHeight(), null);

		if (state == State.GAME) {
			countdown(g);
			if (able) {
				c.render(g);
				if (!dead1) {
					p.render(g);
				}
				g.setColor(Color.GRAY);
				g.fillRect(10, 10, 100, 20);
				g.drawString("P1", 120, 25);
				g.setColor(Color.GREEN);
				g.fillRect(10, 10, health, 20);
				if (players == 2) {
					if (!dead2) {
						p2.render(g);
					}
					g.setColor(Color.GRAY);
					g.fillRect(width * scale - 110, 10, 100, 20);
					g.drawString("P2", width * scale - 135, 25);
					g.setColor(Color.GREEN);
					g.fillRect(width * scale - 110, 10, health2, 20);
				}
			}
			if (round) {
				for (int i = 0; i < eb.size(); i++) {
					c.removeEntity(eb.get(i));
				}
				Font f = new Font("ariel", Font.BOLD, 40);
				g.setFont(f);
				g.setColor(Color.RED);
				g.drawString("ROUND:", width * scale / 2 - 75, 100);
				g.drawString(Integer.toString(roundNum), width * scale / 2 - 10, 150);
				if (time == 3) {
					round = false;
					time = 0;
				}
			}
		}
		if (state == State.CONTROLS) {
			g.drawImage(controls, 0, 0, getWidth(), getHeight(), null);
			g.setColor(Color.GRAY);
			g.fillRect(width * scale - 100, height * scale - 60, 80, 40);
			g.setColor(Color.WHITE);
			g.setFont(new Font("ariel", Font.BOLD, 20));
			g.drawString("BACK", width * scale - 90, height * scale - 35);
		}
		if (state == State.MENU) {
			menu.render(g);
		}
		if (state == State.MENU2) {
			menu.render2(g);
			mouse.setMenu(false);
		}
		if (state == State.END) {
			g.setColor(Color.BLACK);
			g.fillRect(0, 0, width * scale, height * scale);
			g.setColor(Color.WHITE);
			g.setFont(new Font("ariel", Font.BOLD, 40));
			g.drawString("GAME", 130, 50);
			g.drawString("OVER", 130, 80);
			g.setFont(new Font("ariel", Font.BOLD, 30));
			g.drawString("SCORE:", 135, 250);
			String s = Integer.toString(score);
			g.drawString(s, 170, 300);
		}
		if (paused) {
			g.drawImage(pauseScreen, 0, 0, getWidth(), getHeight(), null);
			g.setColor(Color.WHITE);
			g.setFont(new Font("ariel", Font.BOLD, 20));
			g.drawString("Enemies Left:", 20, 30);
			g.drawString(Integer.toString(enemyCount), 170, 30);
			g.drawString("Score:", 20, 50);
			g.drawString(Integer.toString(score), 170, 50);
		}

		// ///////////////////////////////

		g.dispose();
		bs.show();
	}