¡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 IV el Miér Jul 01, 2015 6:37 pm

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

XSerozY

avatar
RGSS3 Para principiantes - Parte IV
Por XSerozY

Puedes ver la parte anterior del tutorial aquí , o si deseas empezarlo desde cero, puedes ver la primera parte aquí.

OJO: RGSS3 es el lenguaje usado en RPG Maker 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. Sin embargo, si sabes solucionar algún problema de compatibilidad, dímelo porfa n.n

Perdón por la tardanza, no tenía internet a mano  Opalo Triste

Pequeño repaso
Bueno.. lo que he explicado hasta ahora son conceptos básicos de Ruby. Pues nada, si de veras te esfuerzas por aprender, espero que sepas responder a estas preguntas  Opalo Hola Abre los spoilers para ver las respuestas n.n

¿Qué es un método?:
Son listas de tareas que se ejecutan en orden. Comienzan con 'def' y terminan con 'end'. Los métodos se ejecutan llamándolos por su nombre: 'MiMetodo()'. Entre paréntesis van los parámetros que este método toma(argumentos). Un ejemplo de método es el famoso 'msgbox_p(texto)'.
¿Cuales tipos de varias hay?:
Son 4: globales, locales, de instancia y constantes. Las globales comienzan con el signo '$' y pueden usarse en cualquier parte del script. Las locales comienzan con letra 'minúscula', y solo pueden usarse dentro del método donde se declaran(declarar es lo mismo que crear). Las constantes comienzan con letra 'mayúscula' y su valor nunca cambiará. Las de instancia, que aún no hemos visto, empiezan con el signo '@' y pueden usarse solo dentro de la clase donde se crean. Ya hablaremos de ellas.
¿Cuáles operaciones aritméticas existen?:
Son 5. Suma (+), Resta (-), Multiplicación (*), División (/) y una última que es el módulo (%), es decir, el resto(por defecto) de una división... O lo que sobra de ella Ópalo Sonrisa Grande por ejemplo: 4/3 = 1, y sobran 1. Entonces '4 % 3 = 1'. Como dato adicional, puedes cambiarle valor a una variable usando '+=', '-='.. etc. Estos equivalen a 'variable = variable + numero', variable = variable - numero'.. etc.
para que sirve 'if' y 'else? Y unless?:
El bloque 'if' ejecuta una lista de acciones siempre y cuando una condición se cumpla. Si esta no se cumple, de forma opcional, puede ejecutar una lista de acciones que estará definida dentro del bloque 'else'. 'unless' se declara igual que 'if', con la diferencia que las acciones solo se ejecutarán si la condición NO se cumple, y en el 'else' iría lo que pasaría si la condición se cumpliera.
Menciona 2 usos de 'return'.:
El prime
ro es para hacer que el método devuelva un valor (Explicado mejor en la parte III del tutorial). El segundo uso es para detener la ejecución del método.


'elsif'
Ya sabemos el funcionamiento de if, cierto?
Pero.. ¿y si por razones de la vida queremos que en el 'else' vaya otra condición? Piensa un poco como resolver este problema.
.
.
Ya? Probablemente pensaste algo como esto(si no pensaste en nada, no importa e.e):



Lo cual es completamente válido y cumple su cometido. Pero podríamos resumirlo usando, en vez de 'else', 'elsif'. El ejemplo quedaría así:



Sin duda, mucho más legible, ¿no crees? Ópalo Contento

elsif, elsif, elsif..... ¡¡¡case!!!
Seeh, el elsif es eficaz, pero llegará un punto en que se vuelva tedioso. Por ejemplo, cuando quieres que ocurran diferentes acciones dependiendo del valor de una variable. Con 'elsif' haríamos algo como esto:



Como puedes ver, hacemos diferentes acciones dependiendo del valor que 'variable' tenga. Pues bien, hay otra forma más ordenada para hacerlo, y es mediante del uso de case. Para crear un 'case', se hace así:

case [variable que tomara diferentes valores]
when [valor 1]
       # acciones que tomara si 'variable == valor 1'
when [valor 2]
       # acciones que tomara si 'variable == valor 2'
when ....
else # (opcional)
       # acciones que tomara si la variable no es igual a ningún valor anterior.
end

Nuestro ejemplo quedaría así:



Simplemente, se escribe 'case' seguido el nombre de nuestra variable, luego escribimos 'when' seguido del valor que nuestra variable tomará, y abajo las acciones que ocurrirán si la variable tiene aquel valor, nuevamente 'when', y así sucesivamente. Pueden haber tantos 'when' como deseas y, de forma opcional, al igual que 'if', puedes agregarle un 'else' seguido de la acciones que ocurrirán si la variable toma un valor distinto a los especificados en los 'when'.

Ah, y no olvides terminar el 'case' con un 'end' !

Dudas pregunte, quiero que aprendas Ópalo Contento

Operadores condicionales
Bueno, ya hablamos de cuando usar '==', '>=', etc. en las condiciones, cierto?

Tenemos dos nuevos operadores para usar en nuestras condiciones: '&&' y '||'.

'&&' significa y. Se que suena raro.. en inglés, sería: '&&' significa and. ¿Más claro? Ópalo Sonrisa Grande

Podemos usarlos para separar dos o más condiciones. Un pequeño ejemplo:



Es común que separemos dos o más condiciones encapsulandolas entre paréntesis, así se ve más ordenado.
En este ejemplo, el mensaje "jejeje" se mostrará si 'variable1 == true' y 'variable2 < 10'.
Es decir, ambas condiciones deben cumplirse para mostrar el mensaje. Lo captas? Ópalo Contento

'||' significa o. Sep, suena raro.. en inglés sería: '||' significa or. Ahí si me entiendo Ópalo Sonrisa Grande

Al igual que '&&', podemos usarlos para separar dos o más condiciones, pero con una pequeña diferencia:



Aquí, 'jejeje' se mostrará si una de las condiciones se cumplen. Por ejemplo, si 'variable1 == true', la condición se cumpliría, y daría igual el valor de 'variable2', ya que estamos diciendo: 'Si variable1 == true o variable2 < 10, se mostrará el mensaje jejeje.'.
Y si ambas condiciones se cumplen, tanto mejor, seguiremos viendo jejeje en la pantalla. Este mensaje no se mostrará solo si ambas condiciones no se cumplen.

Se entiende? Espero que si Ópalo Aturdido

Otra cosa más.. esto es algo enredado, pero lo pongo por si a alguien le sirve:

Si una condición, por ejemplo, 'variable1 == true' se cumple, esta retornará valor true. En caso contrario, retornará valor false. Lo mismo pasa con 'variable2 < 10', si esta se cumple, retornará valor true, y si no se cumple, retornará valor false.
También puedes abreviar los valores de retorno en los 'return':



Y otra cosa más.. si tenemos una variable 'booleana' (es decir, que devuelve solo 'true' o 'false'), podemos hacer esto:

if (variable)

En lugar de esto:

if (variable == true)

para comprobar si aquella variable es verdadera. Y si queremos comprobar si esta variable es falsa, la precedemos con un '!' así:

if (!variable)

Que es lo mismo que decir:

if (variable == false)

Y como dato adicional, si hacemos esto con números... si el número es mayor que 0, el valor será true, y si es 0 o menor (creo) será false. No estoy seguro de esto último porque nunca lo he probado Ópalo Sonrisa Grande pero es así en otros lenguajes como el C, así que lo dejo como dato adicional.

FIN

Aquí acaba la cuarta parte de este tutorial Ópalo Contento Puedes ver la parte siguiente aquí.

Espero que aprendan, sus juegos se harán más potentes usando scripts, y mas aun si esos scripts satisfacen tus necesidades. Y que mejor que crearlos uno mismo en vez de estar horas buscando en internet algo que te sirva?? Ópalo Aplaudiendo

En los próximos capítulos hablaré sobra las variables 'array' y los ciclos Opalo Hola

Dudas, preguntas, críticas, correcciones... Díganmelas Ópalo Contento

Saludos!!^^



Última edición por XSerozY el Mar Jul 07, 2015 6:30 pm, editado 1 vez

#2 Re: RGSS3 Para principiantes - Parte IV el Miér Jul 01, 2015 7:54 pm

Tomate

avatar
¡¡Atrás!! ¡¡Atrás!! ¡Dejen pasar a su majestad, el rey de los códigos informáticos!

¡Woooow! ¡Has vuelto a la carga, compañero! Esta información es vital para cualquiera que no domine el inglés y quiere aprender a entender cómo piensa "la máquina" (el editor de scripts). Nunca vi unos tutoriales así, y creo que deberían estar siempre en primera plana del diario virtual más famoso. En serio, el equivalente a este post es la mismísima espada legendaria encontrada en la mazmorra secretísima que sólo se activa tras guardar en el último punto de guardado cerca de la puerta final que te lleva con el enemigo final del final del juego final. (Tomate está muy emocionado)

Toma todos mis puntos de reputación, vacía mi billetera. Ópalo Sonrisa Grande Ópalo Reputación

¡¡GRACIAS POR TU GRAN COLABORACIÓN CON TODOS!!

P/D: A ver cuándo se ponen a practicar, chicuelos. Ópalo Buscapleitos

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.