Respuestas de foro creadas

Viendo 1 publicación (de un total de 1)
  • Autor
    Respuestas
  • Lubagil
    Participante
    Número de entradas: 1

    Hola gente. Yo llevo desde hace unos meses…desde diciembre, más o menos, empecinado también en crear un cliente para MUD, dado que mi querido zMUD/CMUD dejó de funcionar con el nuevo Seven. Probé con el C#, el cual me gustó mucho, pero me topé de bruces con la portabilidad; alguna de las cosas que consideraba básicas, no tenian API en C# y debía hacerlas invocando las API de windows (docking, por ejemplo). Opté por probar otras opciones y al final empecé el proyecto en Qt allá por enero y me está dando muy buenos resultados. Hoy, estaba yo aburrido y mira me he encontrado con este proyecto vuestro y vamos muy a la par, aunque con alguna diferencia.
    Os cuento esto para que sepáis que no hablo sin conocimiento de causa.
    Bien, a mi modo de ver habéis incurrido en un pequeño error que podréis solucionar fácilmente: habéis confundido los alias con los triggers que se activan por comandos. La idea de hacer alias tan complejos usando expresiones regulares es, en esencia, un trigger asociado al texto del comando en vez de al texto entrante del MUD. Así, podréis hacer que un alias sea lo que la gente está acostubrada a usar: sustituir el comando.
    El zMUD, creo recordar, permitia bastante juego con los alias, incluso los alias de los MUD suelen ofrecer posibilidades complejas de sustitución o inserción de argumentos, etc… Pero es muy fácil crear un alias básico. «Alias d decir %^BOLD%^GREEN%^» y punto.
    A mi modo de ver, las expresiones son demasiado complejas para usarlas en los alias. Más os digo, incluso para las necesidades de un MUD, me parecen también un lío para hacer algo tonto. Por eso, en mi cliente, estoy diseñando un sistema de triggers que no las use. Sí, sé que es un trabajo extra ya que las librerías modernas siempre ofrecen APIs para trabajar con las expresiones regulares y no hace falta crearlas por mi cuenta.
    A parte de la complejidad, las expresiones regulares, al menos en Qt, no están diseñadas para analizar texto en streaming, por lo que siempre estás obligado a analizar bloques de texto… para nuestro caso lineas de texto que terminen con n o el comando telnet GA.

    Es una opinión, obviamente. Espero que no haberos ofendido con mi atrevimiento.

    Saludos, muderos!

Viendo 1 publicación (de un total de 1)