@SuppressWarnings("rawtypes")
	public void paint(Graphics g) {
		super.paint(g);

		Graphics2D g2d = (Graphics2D)g;
		drawbackground(g);
		drawScore(g);

		if(GameCraft.direction == 3){
			g2d.drawImage(ResourceLoader.ImageLoad("/playerback.png"), GameCraft.getX(), GameCraft.getY(), this);
		}else if(GameCraft.direction == 0){
			g2d.drawImage(ResourceLoader.ImageLoad("/playerfront.png"), GameCraft.getX(), GameCraft.getY(), this);
		}else if(GameCraft.direction == 1){
			g2d.drawImage(ResourceLoader.ImageLoad("/playerleft.png"), GameCraft.getX(), GameCraft.getY(), this);
		}else if(GameCraft.direction == 2){
			g2d.drawImage(ResourceLoader.ImageLoad("/playerright.png"), GameCraft.getX(), GameCraft.getY(), this);
		}else{
			g2d.drawImage(ResourceLoader.ImageLoad("/playerfront.png"), GameCraft.getX(), GameCraft.getY(), this);
		}

		////////////
		// Bullet //
		////////////

		ArrayList ms = GameCraft.getBulletDOWN();

		for (int i = 0; i < ms.size(); i++ ) {
			BulletDOWN m = (BulletDOWN) ms.get(i);
			g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
		}

		ArrayList msUP = GameCraft.getBulletUP();

		for (int i = 0; i < msUP.size(); i++ ) {
			BulletUP m = (BulletUP) msUP.get(i);
			g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
		}

		ArrayList msLEFT = GameCraft.getBulletLEFT();

		for (int i = 0; i < msLEFT.size(); i++ ) {
			BulletLEFT m = (BulletLEFT) msLEFT.get(i);
			g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
		}

		ArrayList msRIGHT = GameCraft.getBulletRIGHT();

		for (int i = 0; i < msRIGHT.size(); i++ ) {
			BulletRIGHT m = (BulletRIGHT) msRIGHT.get(i);
			g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
		}

		ArrayList msEnemys = GameCraft.getEnemys();

		for (int i = 0; i < msEnemys.size(); i++ ) {
			Enemys m = (Enemys) msEnemys.get(i);
			g2d.drawImage(m.getImage(), m.getX(), m.getY(), this);
		}

		////////////
		// Bullet //
		////////////

		Toolkit.getDefaultToolkit().sync();
		g.dispose();
	}