public void Draw(Graphics graphics)
	{
            Color curcolor;
            if(CurrentState == running)
                curcolor = Color.BLUE;
            else
                curcolor = gcolor;
            
            int curx = getLocation().x;
            int cury = getLocation().y;
            int bottom = cury + 15;
            int foottop = cury + 11;
            int xeyeoffset = 0;
            int yeyeoffset = 0;
            int direction = getDirection();
            if((CurrentState != dead) && (CurrentState != entering)){
                graphics.setColor(curcolor);
                graphics.fillArc(curx - 15, cury - 15, 30, 30, 0, 180);
                int xPoints[] = {curx - 15, curx - 15, curx - 10, curx - 10, curx - 7, curx - 7, curx - 2, curx - 2, curx +1, curx +1, curx +6, curx +6, curx + 10, curx + 10, curx + 15, curx + 15};
                int yPoints[] = {cury, bottom, bottom, foottop, foottop, bottom, bottom, foottop, foottop, bottom, bottom, foottop, foottop, bottom, bottom, cury};
                int numPoints = 16;
                graphics.fillPolygon(xPoints, yPoints, numPoints);
            }
            graphics.setColor(Color.WHITE);
            graphics.fillOval(curx - 10, cury - 7, 7, 7);
            graphics.fillOval(curx + 5, cury - 7, 7, 7);
            graphics.setColor(Color.BLACK);
            if(direction == 0){
                xeyeoffset = 2;
            }
            else if (direction == 90){
                yeyeoffset = -2;
            }
            else if (direction == 180){
                xeyeoffset = -2;
            }
            else if (direction == 270){
                yeyeoffset = 2;
            }
            graphics.fillOval(curx - 8 + xeyeoffset, cury - 5 + yeyeoffset, 4, 4);
            graphics.fillOval(curx + 7 + xeyeoffset, cury - 5 + yeyeoffset, 4, 4);
	}