en Ren'Py

Tutorial de Ren’Py – Variables

python10

Ahora Zane está en otro camíno, pero acá hay 5 puertas. Estas puertas solo se abrirán si una persona tiene cierta cantidad de ahoges en la cabeza. Nuestra querida mascota tiene 3, un valor que no va a cambiar, así que digamosle eso a Ren’Py.



init:

    $ AHOGES = 3


Un buen hábito es indicar valores que no van a cambiar constantemente (Como máximos) en mayúsculas. Fuera de eso, notarán que le dimos un numero a la variable, a diferencia de un flag que guarda si existe en algún lugar o no, las variables guardando números pueden tener cualquier valor numérico.

Pero hay más de una puerta, ¿Como se interpreta eso en código?

Bien, podríamos hacer esto:



init:

    $ AHOGES = 3

label start:

    if AHOGES == 0:

        "La puerta 0 se abrió"

    else:

        if AHOGES == 1:

            "La puerta 1 se abrió"

        else:

            if AHOGES == 2:

                "La puerta 2 se abrió"

            else:

                if AHOGES == 3:

                    "La puerta 3 se abrió"

                else:

                    "La ultima puerta se abrió"


Peeeeeeeero también podríamos hacer solo esto:



init:

    $ AHOGES = 3

label start:

    if AHOGES == 0:

        "La puerta 0 se abrió"

    elif AHOGES == 1:

        "La puerta 1 se abrió"

    elif AHOGES == 2:

        "La puerta 2 se abrió"

    elif AHOGES == 3:

        "La puerta 3 se abrió"

    else:

        "La ultima puerta se abrió"


Y es exactamente lo mismo.

El comando elif es una contracción de else if, es un switch utilizado cuando debes testear una variable con más de un valor posible. Hablando de eso habrán notado que tiene == y es momento de explicar las diversas formas en las cuales testear un valor.

== indica «El valor es exactamente:» (Solo se utiliza en ifs en contraste a = que equivale a «El valor es ahora:»)

> ó < indica "El valor es mayor/menor a:" (Si se coloca > 4 solo se cumplirá si el valor es 5 o mayor)

>= ó <= indica "El valor es mayor/menor o igual a:" (Si se coloca <= 5 solo se cumplirá con valores de 5 o menores) != indica "El valor es distinto a:" (Con != 2 solo se cumplirá si el valor es cualquier cosa excepto 2) El not también puede aplicarse, a este caso, escribiendo por ejemplo if not AHOGES == 3 Pero digamos que queremos que el valor aumente con cierta condición o escogiendo algo especifico, coloquemos un ejemplo.



init:

    $ dinero = 0

label start:

    menu:

        "Necesito dinero"

        "Tomar 50 más":

            $ dinero += 50

        "Quedar exactamente con 100":

            $ dinero = 100

        "Pagar 10":

            $ dinero -= 10



Acá notaremos símbolos nuevos.

+= o -= le suma o resta una cantidad especifica al valor de la variable (Es lo mismo a que si dijéramos por ejemplo $ dinero = dinero + 50)

= por otro lado cambia el valor sin importar que otro valor haya tenido antes.

Dado que la variable está asociada a un valor numerico podríamos usarlo en lugar de números, podríamos colocar por ejemplo



$ dinero -= AHOGES


Y como AHOGES = 3, entonces a dinero se le restaría 3

Las variables pueden usar cualquier tipo de operación matemática usando los símbolos +-*/



$ dinero = AHOGES + 50 #Suma
$ dinero = AHOGES - 50 #Resta
$ dinero = AHOGES * AHOGES #Multiplicación
$ dinero = AHOGES/dinero #División


Dicho eso, también pueden testear multiplos usando %



if dinero % 3 == 0:

    ##Algo


% divide por el numero que se le de y devuelve el remanente. en el ejemplo si dinero fuera igual a 30 entonces el resultado sería 10 y no quedaría ningún remanente, pero si fuera igual a 5 entonces quedaría un remanente de 1.

Pero hay algo más que podemos hacer con variables.