public ImageIcon getTableauIcon(int pile) {
        Card top;
        
        switch (pile) {
            case BATTLE:
                if (! battlePile.isEmpty())
                    top = battlePile.get(battlePile.size() - 1);
                else
                    return null;
                break;
            case DISTANCE:
                if (! distancePile.isEmpty())
                    top = distancePile.get(distancePile.size() - 1);
                else
                    return null;
                break;
            case SPEED:
                if (! speedPile.isEmpty())
                    top = speedPile.get(speedPile.size() - 1);
                else
                    return null;
                break;
            default:
                return null;
        }
        
        if (top.sprite == null)
            top.loadImage();
        return new ImageIcon(top.sprite.getScaledInstance(Card.CARD_WIDTH, Card.CARD_HEIGHT, Image.SCALE_FAST));
    }