¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 RGSS3 Para principiantes - Parte II el Miér Jun 10, 2015 7:37 pm

Reputación del mensaje :100% (7 votos)

XSerozY

avatar
RGSS3 Para principiantes - II
Por XSerozY


OJO: RGSS3 es el lenguaje usado en RPG Maker VX Ace, en XP, VX, etc, no funcionará! Aunque algunas cosas si son compatibles, pero el tutorial lo he hecho basándome en RGSS3. Puedes probar esto en otras versiones del Maker, pero no prometo que todo te funcione.

Puedes ver la primera parte del tutorial aquí.

Muy bien, empezemos:

if

¿Qué es un "if" ? En inglés, significa "si", pero no un sí de afirmación, sino un "si" de condición. Por ejemplo:

Si no voy, comeré pan.
If I do not go, I eat bread.

Como verán, "if" se usa para comprobar una condición (If I do not go). Si esta se cumple, pasará algo (I eat bread), y si no se cumple, pasará otra cosa.

¿Cómo lo usamos en Ruby? Un if se crea así:

if [condición]
 # cosas que pasarán si la condición se cumple
else
 # cosas que pasarán si la condición NO se cumple
end

Quizás te preguntarás... ¿Qué condiciones puedo poner ahí? Básicamente lo que quieras. Usemos de ejemplo una variable del tipo "boolean" (verdadero o falso). Si la variable es "true"(condición), mostraremos un mensaje(cosa que pasa si la condición se cumple), y si no es "true", no aparecerá nada(cosas que pasan si la condición NO se cumple.)
VARIABLE = true

def MiMetodo
 
       if VARIABLE == true
                msgbox_p("Hola gente!!!")
       end
 
end

MiMetodo()

 ~ ¿Notaste que la variable es del tipo CONSTANTE ?? Eso quiere decir que, al principio le damos valor "true", y ese valor no puede cambiar en el script más adelante.

 ~ ¿Notaste que en la condición usé dos signos igual "==" en vez de uno "=" ? Un solo igual se usa solo para darle valor a una variable, y los dos igual "==" se usan para comparar la variable con otra cosa. En este caso, comparamos la variable con "true", y literalmente dijimos "Si VARIABLE es igual a TRUE....".

Pruebalo y, ¡¡¡Funcio.....

¡¡¡Para!!! y el else ? si tienes buen ojo, habrás notado que no lo puse jejeje Opalo Hola y no es error mio, solo que en este caso, no es necesario. ¿Por qué? El "else" se usa para indicar lo que pasará si la condición NO se cumple, y como en este caso dijimos que no pasará nada, el else no es necesario. Opalo Hola

Pruebalo y, ¡¡¡Funciona!!!

¿Por qué no intentas cambiar el valor la variable por un "false" ?? Fíjate como en ese caso no pasa nada jeje.

Juguemos con las condiciones

¿Por qué no hacemos condiciones con números?

VARIABLE = 33

def MiMetodo
 
       if VARIABLE == 33
                msgbox_p("Hola gente!!!")
       end
 
end

MiMetodo()

Si entendiste el funcionamiento del "if" y de los "==", sabrás que la condición dice algo así: "Si VARIABLE es igual a 33, pasará esto..."

Y en efecto, "VARIABLE" es igual a 33, así que se mostrará el mensaje ;D modifiquemos el código:

VARIABLE = 30

def MiMetodo
 
       if VARIABLE != 33
                msgbox_p("Hola gente!!!")
       else
                msgbox_p("Ups")
       end
 
end

MiMetodo()

Le cambiamos el valor de la variable a "30", y los "==" de la condición los cambiamos por "!=". ¿Eso que significa? "!=" significa "No igual a". La condición entonces dice: "Si VARIABLE no es igual a 33..."

Y como VARIABLE no es igual a 33, la condición se cumple, y el mensaje dirá "Hola gente!!!".

VARIABLE = 30

def MiMetodo
 
       if VARIABLE < 33
                msgbox_p("Hola gente!!!")
       else
                msgbox_p("Ups")
       end
 
end

MiMetodo()

¿Y ahora? Para los que eran malos en mates (como yo Ópalo Lenguón Ópalo Lenguón ), el "<" significa "Menor que", y el ">" significa "Mayor que".

¿Que estamos diciendo? "Si VARIABLE es menor que 33..." y en este caso, si que lo es, de manera que, al cumplirse la condición, el mensaje dirá "Hola gente!!!".

Creo que ya captas la idea, ¿verdad? Aquí abajo dejo los signos que puedes usar en las condiciones:

==  Igual a
!=  No igual a
<   Menor que
>   Mayor que
<=  Menor o igual que
>=  Mayor o igual que

Y RECUERDA!!! Un igual "=" se usa solo para darle o cambiarle el valor a una variable.

unless
Todo tiene su "alter ego" xD y los "if" no es la excepción.

Si "if" hace algo si una condición se cumple, de forma contraria, un "unless" hace algo si la condición NO se cumple, y, como te podrás imaginar, en el else va lo que pasaría si la condición se cumpliera.

Resumiendo: unless es todo lo contrario que el "if", y se crea exactamente igual:

unless [condición]
 # cosas que pasarán si la condición NO se cumple
else
 # cosas que pasarán si la condición se cumple
end

Por si querías llevarle la contraria al "if".. Ópalo Sonrisa Grande Opalo Hola

"if" & "unless" modifier

¿Y si tienes un método bien bonito, pero quieres que algunas cosas solo pasen si se cumple una condición? Tendré que hacer esto?:



Feo y desordenado, cierto? La solución se llama "if modifier" y es un "if [condición]" a la derecha de una acción del método. Quedaría así:



Ahí queda hermoso *-* Y mas legible Ópalo Aplaudiendo

Lo mismo pasa con "unless", puedes poner "unless [condición]" a la derecha, solo recuerda que en este caso, la acción ocurrirá si la condición no se cumple. (Bien inmaduro el "unless" llevándole la contraria al "if", no crees?)

FIN

Y aquí acaba este segundo tutorial donde te enseño (o trato de enseñarte xD) RGSS3  Opalo Hola

Continúa con la tercera parte aquí.

Espero que sirva, cualquier cosa díganmela Ópalo Sonriente

Saludos!!



Última edición por XSerozY el Dom Jun 14, 2015 12:58 am, editado 2 veces

#2 Re: RGSS3 Para principiantes - Parte II el Jue Jun 11, 2015 9:51 am

Reputación del mensaje :100% (1 voto)

orochii

avatar
Poco a poco... poco a poco... xD. Cuando vayas a enseñar ciclos a algunos les empezarán a estallar los cerebros (¿Ah? ¿Qué? ¿Que los humanos sólo tienen un cerebro? Deberían aprender a las babosas...).

+1Rep btw.

#3 Re: RGSS3 Para principiantes - Parte II el Jue Jun 11, 2015 5:58 pm

Tomate

avatar
¡¡Increíble!! ¡Bravo, bravo!


Felicidades por hacer un tutorial tan ameno, informativo y explicativo para que todos podamos entender "como piensa" el editor de códigos del RPG Maker y así adentrarnos en la programación. Excelente tutorial, debo reiterar. Ópalo Guiño

Se nota, como dije en tu otro tutorial, que tienes un muy buen manejo de los principios y herramientas del editor de códigos. Eres uno de los pocos programadores de RGSS que conozco en nuestro idioma. ¡Así que eres un diamante en bruto! Tienes muy buenas capacidades para seguir desarrollándote en esto.

Yo entendí muy bien tu explicación, y mira que soy lento en estas cosas. Una cosa más que debo mencionar: me encanta el humor con el que redactas tu mensaje.

¡¡Gracias XserozY!! Ópalo Reputación

#4 Re: RGSS3 Para principiantes - Parte II el Jue Jun 11, 2015 10:40 pm

Natalie

avatar
¡Profes, Profes! Tengo una duda! Ópalo Contento

@XSerozY escribió:
VARIABLE = 30

def MiMetodo

      if VARIABLE != 33
               msgbox_p("Hola gente!!!")
      else
               msgbox_p("Ups")
      end

end

MiMetodo()

¿Cómo sería esta parte en XP? ¿Habría algún cambio o sería igual? Creo que la respuesta puede ayudarme a modificar un script! Ópalo Contento

¡Sigue con los tutoriales, estoy aprendiendo un montón!  Ópalo Reputación

¡Saludos! Opalo Hola

#5 Re: RGSS3 Para principiantes - Parte II el Jue Jun 11, 2015 10:44 pm

XSerozY

avatar
natalie_cuxi escribió:¿Cómo sería esta parte en XP? ¿Habría algún cambio o sería igual?

Creo que eso es Ruby puro, así que puedes probarlo, deberia funcionar. Eso sí, recuerda que el "msgbox_p" no parece funcionar en el XP.

Saludos y gracias por los comentarios! ^^

#6 Re: RGSS3 Para principiantes - Parte II el Jue Jun 11, 2015 11:56 pm

orochii

avatar
Cuando veas un msgbox_p(), intenta cambiarlo por un print(), y en mayoría de casos debería andar igual.

#7 Re: RGSS3 Para principiantes - Parte II el Dom Jun 14, 2015 12:47 am

Natalie

avatar
¡Gracias profes! Ópalo Reputación
Entonces en Xp sería así:
------------
VARIABLE = 30

def MiMetodo

     if VARIABLE != 33
              print("Hola gente!!!")
     else
              print("Ups")
     end

end

MiMetodo()
-----------

¿Es así? Ópalo Aturdido

#8 Re: RGSS3 Para principiantes - Parte II el Dom Jun 14, 2015 1:08 am

Reputación del mensaje :100% (1 voto)

XSerozY

avatar
natalie_cuxi escribió:¡Gracias profes! Ópalo Reputación
Entonces en Xp sería así:
------------
VARIABLE = 30

def MiMetodo

     if VARIABLE != 33
              print("Hola gente!!!")
     else
              print("Ups")
     end

end

MiMetodo()
-----------

¿Es así? Ópalo Aturdido

En XP, segun su manual, al lado de la condición en el "if" debes agregarle un "then":



Luego de eso no te debería dar error Opalo Hola

Saludos !! ^^

#9 Re: RGSS3 Para principiantes - Parte II el Lun Jun 15, 2015 11:59 am

Natalie

avatar
¡Muchísimas gracias profe! Ópalo Reputación  Con todas estas explicaciones parece más asequible el "scripting"... aunque temo leer la entrega 3 de tu tutorial, seguro que ahí ya me pierdo completamente xDD

¡Saludos! Opalo Hola

#10 Re: RGSS3 Para principiantes - Parte II el Lun Jun 15, 2015 2:21 pm

Ópalo

avatar

¡OH! Pero qué bien, tenemos clases particulares y todo Opalo Hola
Esto es fantástico así que Ópalo Reputación por el esfuerzo tan grande que has hecho por esta comunidad Ópalo Contento
¡Sigue así! ¡El Universo te lo agradece!



#11 Re: RGSS3 Para principiantes - Parte II el Lun Jun 15, 2015 6:47 pm

reyerta

avatar
Increible!!! lamento no haber comentado nada en la clase 1; es que tenia mucho miedito de leerlo y no entenderlo. Pero resulto muy ameno y fácil de leer.

Muchas gracias por educarnos en el uso de Ruby; creo que este tema deberia marcarse como importante. De verdad es muy educativo y nos permite conocer algo mas de este programa que tanto nos gusta usar

#12 Re: RGSS3 Para principiantes - Parte II el Mar Jun 16, 2015 2:34 am

XSerozY

avatar
Perdon la tardanza jeje..

Opalo!! Ópalo Gato por fin te conosco en persona Ópalo Contento gracias ! Un placer ayudar a la comunidad n.n

Y los demas.. pues admito que yo tambien me asustaba de la programacion cuando empezé hace un tiempo xD y sip.. ese es mi objetivo que aprendan y puedan aumentar las posibilidades en sus juegos !! Asi qe animense!! Ópalo Contento

Saludos!!

#13 Re: RGSS3 Para principiantes - Parte II el Miér Jun 17, 2015 3:21 am

nana_strike

avatar
estan padres tus tutoriales! a mi se me complica un poco el RGSS3 Opalo Triste
estaré siguiendo tus publicaciones Ópalo Reputación

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.