@Override
    public void draw(Graphics g) {             
        
        //Draw Score Card
        g.setFont("Arial", Graphics.BOLD, 25);
        g.setColor(Color.WHITE.getRGB());        
        g.drawString("Score:",GamePanel.GAMEWIDTH+20,70);
        g.setFont("Arial",Graphics.PLAIN,15);
        g.setColor(Color.GREEN.getRGB());
        g.drawString("Player 1:"+p1score,GamePanel.GAMEWIDTH+40,90);
        g.setColor(Color.WHITE.getRGB());        
        g.drawString("CPU 1:"+p2score,GamePanel.GAMEWIDTH+40,110);
        g.drawString("CPU 2:"+p3score,GamePanel.GAMEWIDTH+40,130);
        g.drawString("CPU 3:"+p4score,GamePanel.GAMEWIDTH+40,150);
                         
        //Sets the game area
        g.drawRect(5, 5, GamePanel.GAMEWIDTH,GamePanel.GAMEHEIGHT);
        g.setClip(5, 5, GamePanel.GAMEWIDTH, GamePanel.GAMEHEIGHT);
        
        g.translate(5, 5);      
        //g.rotate(Math.toRadians(90), GamePanel.GAMEWIDTH/2+5, GamePanel.GAMEHEIGHT/2+5);
        for(Paddle p: players) p.draw(g);
        for(Ball b: ball) b.draw(g);
        g.setColor(Color.WHITE.getRGB());
        CollisionResult s;        
        for(Paddle p: players){
            for(Ball b: ball){
                if((s=p.getShape().collides(b.getShape()))!=null)
                {              
                    b.getPosition().thisAdd(s.mts);                                 
                    lastHit = p;                   
                    b.getVelocity().thisBounceNormal(s.normal);
                    b.getVelocity().thisAdd(p.getVelocity());
                    Vector2D norm = s.normal.getPerpendicular();
                    float rel1 = b.getVelocity().dot(norm);
                    float rel2 = p.getVelocity().dot(norm);
                    float dir = b.getVelocity().dot(p.getVelocity());
                    if(dir!=0)
                        dir = dir/Math.abs(dir);
                    float amount = rel1-rel2;
                    b.setAngularVelocity(Math.abs(amount)*dir*4);
                    
                }
            }
        }
        //g.rotate(Math.toRadians(-90), GamePanel.GAMEWIDTH/2+5, GamePanel.GAMEHEIGHT/2+5);
        g.translate(-5, -5);
        g.setClip(0,0,GamePanel.WIDTH,GamePanel.HEIGHT);
        
       /* 
        float x = WIDTH-ImageLoader.LOGO.getWidth();
        g.drawImage(x, HEIGHT-ImageLoader.LOGO.getHeight(), ImageLoader.LOGO);
        x-=ImageLoader.EXPADDLE.getWidth();
        g.drawImage(x, HEIGHT-ImageLoader.EXPADDLE.getHeight(), ImageLoader.EXPADDLE);
         x-=ImageLoader.SPEED.getWidth();
        g.drawImage(x, HEIGHT-ImageLoader.SPEED.getHeight(), ImageLoader.SPEED);
         x-=ImageLoader.SHIELD.getWidth();
        g.drawImage(x, HEIGHT-ImageLoader.SHIELD.getHeight(), ImageLoader.SHIELD);
         x-=ImageLoader.CURVE.getWidth();
        g.drawImage(x, HEIGHT-ImageLoader.CURVE.getHeight(), ImageLoader.CURVE);*/
    }