HUNTERLun Jun 25, 2012 12:40 pm
Super Usuario
Hoy les traigo un Tutorial de RGSS para XP asi aprenden a modificar sus Scripts y poder
hacer el juego a su gusto empiezo
if: Se utiliza para comprobar algo, y si se cumple, sucedera lo siguiente.
else: Se utiliza para que ocurra algo en caso de que lo anterior no se cumpla.
when: Significa "cuando". Se utiliza para comprobar algun valor u otra cosa.
unless: Indica que si las instrucciones que se dieron no son así, entonces ocurrira lo siguiente.
for: Significa "para". Sirve para relacionar.
in: Significa "en". Tambien sirve para relacionar.
while: Significa "mientras". Se utiliza para que mientras algun valor u accion sea asi, se hara la accion correspondiente. Sirve para comprobar.
Bueno sin mas dejo los dos tutoriales:
-Lección 1: Arrays
-Leccion 2: Hashes:
-Leccion 3: Case
-Leccion 4: Bucles.NEW!
Aqui un ejemplo de la funcion del "if" y el "else".
Estas lecciones estan hechas para que las coloquen como scripts en sus juegos, para luego las modifiquen y experimenten. Como se daran cuenta lleva signos como "#" o "@" o "=>" entre otros.
Atención: Estos tutoriales estan hechos en un nivel basico. Si no saben que es un comentario, no saben los codigos basicos, ni los colores, entonces les recomiendo buscarse una guia, por que eso no lo pretendo enseñar.
Un saludo.
Basado en una Guia PFD.
hacer el juego a su gusto empiezo
if: Se utiliza para comprobar algo, y si se cumple, sucedera lo siguiente.
else: Se utiliza para que ocurra algo en caso de que lo anterior no se cumpla.
when: Significa "cuando". Se utiliza para comprobar algun valor u otra cosa.
unless: Indica que si las instrucciones que se dieron no son así, entonces ocurrira lo siguiente.
for: Significa "para". Sirve para relacionar.
in: Significa "en". Tambien sirve para relacionar.
while: Significa "mientras". Se utiliza para que mientras algun valor u accion sea asi, se hara la accion correspondiente. Sirve para comprobar.
Bueno sin mas dejo los dos tutoriales:
-Lección 1: Arrays
- Spoiler:
#Arrays
@makers = ["Christian","Excedia","Kululu"]
print @makers[0]
print @makers[1]
print @makers[2]
@makers [1] = "LOL"
#En el codigo anterior se colocó el string "@makers", en el cual se coloco 3 valores
#"Christian", "Excedia" y "Kululu", los cuales son identificados por orden del 0
# al infinito. Es decir, se empieza desde el "0", no desde el "1".
#Luego, coloqué el codigo "print", que imprime un texto en la pantalla.
#De esta forma: print = hola. Pero, no coloque lo anterior por que estaba probando
#los strings, lo que hize fue colocar un "print", pero al lado colocando el string
#"@makers", al lado de eso, he colocado los valores respectivos de cada uno...
#Encerrandolos en corchetes. Por ejemplo, en el primer print he colocado "@makers"
#Con valor de "0", por lo que imprimirá el valor "0" del string "@makers".
#Ahora, en la ultima linea de codigo anterior coloque el string "@makers" con valor
# de "1", lo que significa que estoy cogiendo el valor 1 del string "@makers"
#(Excedia). Luego, coloque un signo de igualdad y finalmente un "LOL", lo que hize
# fue esto: cogi el string "@makers", en su valor "1" (Excedia), luego, coloque un
#signo de igualdad, para luego colocar "lol", entonces, eso indica que cogi el valor
# "1" del string "@makers", y luego le cambia el "Excedia" por "LOL"... eso es todo
-Leccion 2: Hashes:
- Spoiler:
#Hashes:
@makers = {"José" =>"Santos"}
print @makers = ["José"]
@makers = {"José" =>"Manuel"}
print @makers = ["Manuel"]
#Hashes comparativos
@persona1 = "José"
@persona2 = "Manuel"
if @persona1 == @persona2
print "Ambas personas son las mismas"
else
print "Son diferentes"
end
#Okey, empezemos con los Hashes. Bien, los hashes son casi lo mismo que los
#Array, con la diferencia de que al colocar un "print", este no necesita valores
#Solo el nombre. Por ejemplo, "print @makers = ["José"]". Otra diferencia es que
#En vez de unir los nombres (O el texto o lo que sea) con corchetes, se unen
#Con llaves ({}). Tambien, es que al separar los nombres se hace de esta forma
#{"Leonel" =>"Michael,"Chicho" =>"Argón"}.
#En la primera linea coloque los dos nombres (José y Santos), y en la segunda
#Coloqué un "print" indicando el nombre "José" del hash "@makers".
#Abajo, fue lo mismo, solo que cambie "Santos" por "Manuel", y en el "print"
#Coloqué a "Manuel" en un "print".
#Nota: Cuando se colocan los nombres en el hash se ponen con llaves
#Pero cuando se van a colocar en un "print", van con corchetes.
#Ahora los Hashes comparativos.
#Los hashes comparativos son hashes que como su nombre lo indica, compara dos
#Hashes usando "if" y "else" para ejecutar cierta funcion.
#En la primera linea le di el nombre "José" al hash "@persona1".
#En la segunda linea hice lo mismo pero con el nombre de "Manuel y al hash
#"@persona2". Luego coloque el codigo "if" que hace que si cierta funcion
#Se cumple, ocurra cierta cosa. En el "if" coloque:
#"@persona1 == @persona2", que indica que si el nombre del hash "@persona1"
#Es igual al nombre del hash "@persona2" se imprimira "ambas personas son
#Las mismas. Eso, en un evento de print como se puede leer arriba.
#Luego, coloque un "else" cuya funcion es que si lo anterior no se cumple. entonces
#Lo siguiente se hará. Lo que yo puse en el "else" fue, un "print" que imprima
#El texto "Son diferentes". Y para finalizar el codigo "end".
#Ahora bien, como esta, te dira: "Son diferentes" por que los nombres de los hashes
#Son diferentes, pero si pones en los nombres de los hashes el mismo nombre
#Veras como dice: "Ambas personas son las mismas".
-Leccion 3: Case
- Spoiler:
#Case
case
@command_window
when 0
@command_new_game
when 1
@command_continue
when 2
@command_shutdown
end
#Okey, primero explicare el "case":
#@command_window.index: Primera linea del condicional
#case, allí es donde indicas que variable quieres verificar, o sea
#en que variable quieres que se verifiquen los valores.
#En este caso es una variable llamada @command_window.index
#lo que indica es la posicion dentro de la caja de comandos
#del Scene_title (Para que comprueben que esta variable existe, verifiquen el
#Scene_title", y veran esta variable)
#when 0: "When" significa en ingles "cuando", por lo tanto cuando el valor
#de @command_window.index es "0", se ejecuten las siguientes instrucciones:
#command_new_game: Esta es la instruccion seguida del "when" 0
#si te preguntas que es esta line, pues es una llamada a otro
#metodo dentro de la misma clase.
#Como ves, las siguientes lineas son iguales a las explicadas
#pero verificando diferente valores para ejecutar diferentes instrucciones.
#Dejo claro que los "when" no terminan con ningun "end", pero
#el case siempre debe terminar con uno
#Condicional Unless
@nombre = "Gabriel"
unless @nombre == "Mimo"
print "No eres Mimo"
end
#Bien, ahora pasemos a el "Condicional Unless":
#Lo que hace basicamente este codigo llamado "unless" es que,si no se ejecutan
#Las instrucciones, se realizara otras instrucciones. Este codigo es todo lo
#Contrario al codigo "if", por que el "if" dice que, si lo anterior se realiza
#Sucedera lo siguiente; a diferencia de este que es que si lo anterior
#No se realiza, se ejecutara lo siguiente.
#Okey, ahora explicare lo que hize:
#Lo que hice fue colocar una variable llamada "@nombre" y le di el valor de:
#"Gabriel". Luego, coloque un "unless", y tras eso coloque la variable "@nombre"
#A "Mimo", para finalmente colocar un "print" al final con el texto de "No
#Eres Mimo". Ahora, explicare que significa. Bien, yo coloque el valor de "Gabriel"
#A la variable "@nombre", y luego coloque un "unless", que dice que si el valor
#De la variable "@nombre" no es "Mimo", se imprimira el texto: "No eres Mimo".
#Si entras al juego veras que te dira que no eres Mimo, por que ahi esta checando
#Que si el valor dado a la variable "@nombre" no es "Mimo", sucedera lo siguiente,
#Y como yo a la variable "@nombre" no le coloqué "Mimo" sino "Gabriel", lo que
#Quiere decir que la variable "@nombre" no es igual a "Mimo", imprimira el texto
#Que se puede apreciar allá arriba. Sin embargo, intente cambiar la primera linea
#Donde se le da el valor a la variable "@nombre" de "Gabriel" a "Mimo", para que
#Vean que no sucedera nada... intentelo.
-Leccion 4: Bucles.NEW!
- Spoiler:
#Bucle
for i in 0...5
print "i"
end
#Bien, primero expliquemos el bucle. El bucle se inicia con el codigo "for"
#Y termina en "end", lo que hace el bucle es repetir una accion determinadas
#Veces. En el ejemplo, vemos como coloque el codigo "for" que significa "para".
#Luego, coloque el codigo "in", que significa "en", finalmente, coloque el conteo
#Desde "0" hasta "10".
#Abajo, coloque un "print" con la letra "i" en ella. Y finalmente un codigo "end".
#Ahora, ¿Que signfica?, bueno, que se repetira 10 veces el "print" que puse abajo.
#Osea, como en el "print" coloqué un "i", imprimira en la pantalla 10 veces "i"
#Si modifican el texto, repetira 10 veces lo que pusieron. No necesariamente tiene
#Que ser 10 veces, pueden colocarlo hasta el numero de veces que quieran que se
#Repita la accion. Tampoco la accion tiene que ser un print, puede ser lo que quieran
#Solo que yo tomo el "print" por que es lo mas facil y rapido para un ejemplo.
#Ahora, si le quitan las comillas al "i", pueden ver que en vez de imprimir 10
#Veces "i", imprimira 10 veces los numeros del 1 al 10, si le cambian el 10 por un 20
#Los numeros del 1 al 20, intentenlo. Tambien cabe decir, que en el conteo no se
#Empieza con "1" se empieza con "0" como en los Arrays.
#Bucle While
@num = 9
while @num == 10
print "@num sigue siendo 10"
end
#Bien muchachos, explicare el "Bucle While". Este es un tipo de bucle que en vez
#De hacer X cosa un numero determinado de veces, repite la accion infinitamente
#Hasta que eso no se cumpla. Osea, si cierta accion es cumplida, esta se repetira
#Hasta que ya no se cumpla. Bueno, ahí colqué la variable "@num", y le di valor de
#"10", luego coloque un "While", que significa: "Mientras" y luego, coloque la
#Variable "@num" que haga que si es igual a diez, se imprima en la pantalla
#El texto "@num sigue siendo 10", y finalmente un 10.
#Bueno, ahora si les explico, bueno, a la variable "@num" coloque el valor de 9
#Y luego coloque un "while" para que si la variable "@num" tiene el valor de "10"
#Se imprima el texto "@num sigue siendo 10". En conclusion, el "Bucle while"
#Funciona para repetir cierta accion infinitamente hasta que esa accion ya no
#Se cumpla. En el ejemplo, dice que si es 10 el valor de la variable "@num"
#Se imprimira el texto el cual se puede ver arriba, pero yo a la variable "@num"
#No le di valor de "10" si no de "9", por lo que no sucederá nada, pero si lo
#Cambian a "10", imprimira el texto "@num sigue siendo 10". Pero esto no se los
#Recomiendo ya que como se repite infinitamente, no podemos salirnos del juego
#Por lo que habria que correr el "Administrador de tareas" y cerrar el programa
#Y eso es muy tedioso. Sin embargo, este "Bucle While" sirve, pero no en esta
#Ocasion con un "print".
Aqui un ejemplo de la funcion del "if" y el "else".
- Spoiler:
#Funcion de los "if" y "else".
@nombre = "José"
if @nombre == "José"
print "Eres José"
else
print "No eres José"
end
Estas lecciones estan hechas para que las coloquen como scripts en sus juegos, para luego las modifiquen y experimenten. Como se daran cuenta lleva signos como "#" o "@" o "=>" entre otros.
Atención: Estos tutoriales estan hechos en un nivel basico. Si no saben que es un comentario, no saben los codigos basicos, ni los colores, entonces les recomiendo buscarse una guia, por que eso no lo pretendo enseñar.
Un saludo.
Basado en una Guia PFD.