Supongamos que vas a hacer un juego con pociones mágicas. Las pociones tienen distintos efectos: pueden curar a los jugadores o hacerles daño. Deseas declarar e inicializar algunas constantes y variables para almacenar el estado del jugador y la cantidad de daño o cura que provoca una poción.
¿Pero cuáles deben ser constantes y cuáles variables?
var PlayerHealth : float = 100.0
PotionDamageAmount: float = 20.0
PotionHealAmount: float = 10.0
Estas variables y constantes que cambies aquí no afectarán el estado del personaje de Fortnite, pero aprenderás cómo hacer eso exactamente en una lección más adelante.
El estado del jugador cambiará durante el juego, según qué pociones utilice. Cuando pienses en cambio, piensa en variable.
Por el otro lado, no tiene mucho sentido cambiar la cantidad de daño o cura que aplican las pociones durante el juego, así que esas deben declararse como constantes.
-
Si escribes código para cambiar la variable
PlayerHealth
ahora, no podrás darte cuenta si funcionó a menos que imprimas algo en el registro. Para ayudar con eso, declara e inicializa la constante de cadena y la variable de cadena a continuación. Recuerda agregar el espacio entre el final del texto y la última"
.PlayerStatusText: string = "Player health now " var EffectOnPlayerText: string = "damaged "
-
Ahora ya puedes cambiar el estado del jugador. Para cambiar el valor de una variable, tienes que usar la palabra clave
set
al principio de la expresión. La variablePotionDamageAmount
debe restarse dePlayerHealth
, así que usa el operador-
.set PlayerHealth = PlayerHealth - PotionDamageAmount
-
Después de que cambia
PlayerHealth
, deseas ver la prueba. Para hacerlo, realiza las llamadas aPrint()
que se muestran debajo.Print("El jugador recibió {EffectOnPlayerText + ToString(PotionDamageAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")
Puede parecer que intentas hacer operaciones matemáticas con las cadenas, pero en realidad, combinas el operador
+
. Esto se denomina concatenación. La funciónToString()
crea una versiónstring
de la variable y la constantefloat
para que se puedan usar conPrint()
. -
Ejecuta este código ahora para ver dos líneas nuevas impresas:
The Player was damaged 20.0
Player health now 80.00
Ahora, por tu cuenta, intenta hacer lo mismo para PotionHealAmount
.
- Cambia
PlayerHealth
con la palabra clave y el operador correctos. - También necesitarás cambiar la variable
EffectOnPlayerText
para que tenga sentido cuando se imprima. -
Por último, será necesario que imprimas cómo el estado del jugador se vio afectado y su estado actual. Intenta primero hacerlo por tu cuenta, pero si necesitas ayuda, consulta el código siguiente.
set PlayerHealth = PlayerHealth + PotionHealAmount set EffectOnPlayerText = "healed " Print("El jugador recibió {EffectOnPlayerText + ToString(PotionHealAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")
Secuencia de comandos completa
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
hello_world_device := class(creative_device):
# Se ejecuta cuando el dispositivo se inicia en un juego en ejecución
OnBegin<override>()<suspends> : void =
PotionDamageAmount : float = 20.0
PotionHealAmount : float = 10.0
var PlayerHealth : float = 100.0
PlayerStatusText : string = "Player health now "
var EffectOnPlayerText: string = "damaged "
set PlayerHealth = PlayerHealth - PotionDamageAmount
Print("El jugador recibió {EffectOnPlayerText + ToString(PotionDamageAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")
set PlayerHealth = PlayerHealth + PotionHealAmount
set EffectOnPlayerText = "healed "
Print("El jugador recibió {EffectOnPlayerText + ToString(PotionHealAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")