El foro principal del servidor Pokemon Origins


    1.- Solucionario

    Comparte
    avatar
    Alipio
    Admin

    Mensajes : 26
    Fecha de inscripción : 18/10/2014
    Edad : 23

    1.- Solucionario

    Mensaje por Alipio el Mar Nov 04, 2014 11:33 pm

    Solucionario del Capítulo 1.- Comandos parte 1

    a) Comando: sersupremo y que regrese el mensaje: No lo serás nunca


    Cómo se ha visto en el cápitulo 1, se debe estructurar logicamente las consecuencias del suceso del comando, para ello haremos uso de un diagrama de flujo:

    Spoiler:
    Diagrama Comando: sersupremo


    Aquí el código:

    Spoiler:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {
    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "sersupremo") {
    sys.sendMessage(ID, "No lo serás nunca!", Canal);
    return;}
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    b) Comando: hola y que regrese el mensaje: hola


    Cómo se ha visto en el cápitulo 1, se debe estructurar logicamente las consecuencias del suceso del comando, para ello haremos uso de un diagrama de flujo:

    Spoiler:
    Diagrama Comando: hola


    Aquí el código:

    Spoiler:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {
    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "hola") {
    sys.sendMessage(ID, "hola", Canal);
    return;}
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    c) Comando: chau y que regrese el mensaje: bye, vuelve pronto


    Cómo se ha visto en el cápitulo 1, se debe estructurar logicamente las consecuencias del suceso del comando, para ello haremos uso de un diagrama de flujo:


    Spoiler:
    Diagrama Comando: chau


    Aquí el código:

    Spoiler:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {
    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "chau") {
    sys.sendMessage(ID, "bye, vuelve pronto", Canal);
    return;}
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    d) Comando: beseme:Nombre y que envie este mensaje a todos: beseme Nombre.


    Cómo se ha visto en el cápitulo 1, se debe estructurar logicamente las consecuencias del suceso del comando, para ello haremos uso de un diagrama de flujo:

    Spoiler:
    Diagrama Comando: beseme


    Aquí el código:

    Spoiler:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {
    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "beseme") {
    if(Msj_Msj == undefined) { sys. sendMessage(ID, "Especifique un nombre, gracias.", Canal); return;}
    sys.sendAll("beseme "+Msj_Msj, Canal);
    return;}
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

    ¿Se puede conectar todos estos comandos en un solo evento?



    Claro, y no necesitamos hacer otro diagrama de flujo, pues cada diagrama ya hecho pertenece a un bloque en específico de suceso de comando.
    Por lo tanto podemos poner bloques de comandos de manera secuencial; es decir, uno después de otro, y si analizamos cada diagrama de flujo se aprecia que si no se ingresa a un bloque de comandos se sigue con el programa; es decir, analizamos los demás bloques.

    Aquí el código:


    Spoiler:
    ({
    beforeChatMessage:function(ID, Msj, Canal ) {
    if (Msj[0] == '/' || Msj[0] == '!' && Msj.length>1) {
    sys.stopEvent(); //Esto paraliza el evento.
    var temp001 = Msj.indexOf(' ');
    var Msj_Comando = Msj.substring(1, temp001).toLowerCase();
    if (temp001 <0) { Msj_Comando = Msj.substr(1).toLowerCase(); }
    var Msj_Msj;
    if (temp001 >=0) { Msj_Msj = Msj.substr(temp001+1); }

    if (Msj_Comando == "sersupremo") {
    sys.sendMessage(ID, "No lo serás nunca!", Canal);
    return;}

    if (Msj_Comando == "hola") {
    sys.sendMessage(ID, "hola", Canal);
    return;}

    if (Msj_Comando == "chau") {
    sys.sendMessage(ID, "bye, vuelve pronto", Canal);
    return;}

    if (Msj_Comando == "beseme") {
    if(Msj_Msj == undefined) { sys. sendMessage(ID, "Especifique un nombre, gracias.", Canal); return;}
    sys.sendAll("beseme "+Msj_Msj, Canal);
    return;}
    sys.sendMessage(ID, "El comando no existe", Canal);
    return;
    }
    },
    })

      Fecha y hora actual: Sáb Sep 23, 2017 4:18 am