private void showSearchGame(Graphics2D g2, Rectangle d, Font font) {
        // buscar juego en espera
        // cuando el mastergamethread reciba una conexion, esta pantalla desaparecera
        if (RemotePlayer != null) {
            if (RemotePlayer.startsWith("ERROR")) {
                JOptionPane.showMessageDialog(null, RemotePlayer, "Error", JOptionPane.ERROR_MESSAGE);
                exit();
            }
            if (RemotePlayer.startsWith("Tiempo de espera")) {
                searchForGame = false;
                x = 0;
                y = 0;
                JOptionPane.showMessageDialog(null, RemotePlayer, "Advertencia", JOptionPane.WARNING_MESSAGE);
                RemotePlayer = null;
            }
            // en este punto vuelve al menu principal si no hubo respuesta
            // start networked game
            if (RemotePlayer.startsWith("MASTER")) {
                System.out.println("Iniciar juego con: " + RemotePlayer);
                NetworkGameScreen screen = new NetworkGameScreen(this, NetworkGameScreen.NetworkGameType.SLAVE);
                getContentPane().remove(canvas);
                getContentPane().add(screen, BorderLayout.CENTER);
                slaveGameThread.SetScreen(screen);
            }
        }

        // Draw subtitle
        Font fontC = new Font(FONT_NAME, Font.BOLD, (int) (0.08 * height)); // scale 40/500
        Rectangle ds = fontC.getStringBounds("Juego en Red", g2.getFontRenderContext()).getBounds();
        g2.setFont(fontC);
        g2.setColor(Color.lightGray);
        g2.drawString("Juego en Red", width / 2 - ds.width / 2, d.height + ds.height + g2.getFontMetrics().getAscent());
        g2.setFont(font);
        g2.setColor(Color.WHITE);

        // Show message
        String str = "Enviando solicitud" + ((RemotePlayer==null)? "" : " " + RemotePlayer) + "...";

        d = font.getStringBounds(str, g2.getFontRenderContext()).getBounds();

        // agregar puntos suspensivos animados
        wfgt2 = new Date().getTime();
        if ((wfgt2 - wfgt1) < 500)
            str = str.substring(0, str.length() - 3);
        else if ((wfgt2 - wfgt1) < 1000)
            str = str.substring(0, str.length() - 2);
        else if ((wfgt2 - wfgt1) < 1500)
            str = str.substring(0, str.length() - 1);
        else wfgt1 = wfgt2;

        Rectangle2D.Double r1 = new Rectangle2D.Double(width / 2 - d.width / 2 - (int) (0.04 * height),
                height / 2 - d.height / 2, d.width + 2 * (int) (0.04 * height), d.height + (int) (0.04 * height));
        g2.setPaint(Color.black);
        g2.fill(r1);
        g2.setColor(Color.WHITE);
        g2.draw(r1);
        g2.drawString(str, width / 2 - d.width / 2, height / 2 + g2.getFontMetrics().getAscent());
    }