Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Alfonsos1 en Enero 06, 2010, 05:05:06 PM

Título: Se puede guardar en una variable una esprecion?
Publicado por: Alfonsos1 en Enero 06, 2010, 05:05:06 PM
(sino me equivoco) una esprecion es algo que puede ser evaluado
por ejemplo 4>5 o Vidas = MaximoVidas

me ahorraria mucho trabajo poder guardar espreciones en variables

por ejemple Espresion1 = Vidas>0

----------------------------------------------------------------------------------

O sino tambien me serbiria poder transformar un string en una esprecion
Por ejemplo Espresion1 = "Vidas>0"

pero no sabria como hacer del string una esprecion que pueda usar dentro de un if...
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Zeit en Enero 06, 2010, 05:15:08 PM
Hola, creo que por ahi en el manual hay una funcion para ejecutar codigos desde cadenas de texto (o archivos de texto), checalo, saludos.

Edicion 1: Perdon por la correccion pero "esprecion" es con "x", es decir, exprecion.

Edicion 2: Aqui esta: execute_string(str,arg0,arg1,...)...
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: SP_Christian en Enero 06, 2010, 05:20:13 PM
Esprezion1=4>5 te devuelve 0.
Si que se puede asignar.
Y...es "expresion"
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Alfonsos1 en Enero 06, 2010, 05:42:57 PM
@Zeit:
no puedo, aparentemente no se puede introducior los caracteres ">" o "<"  o "=" dentro de un string  :'(
por ejemplo Exprecion1 = "A > B" me da error

@SP_Christian:

CitarEsprezion1=4>5 te devuelve 0
tu mismo lo has dicho, en este caso Esprezion1 seria 0, osea un valor numerico y no una exprecion

@TODOS

si a alguien se le ocurre una solucion que lo diga aqui
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Zeit en Enero 06, 2010, 05:48:56 PM
Hola, si se puede usar < >  = en cadenas de texto, acabo de escrbir variable='x<y'; y me funiona correctamente. Saludos.
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Alfonsos1 en Enero 06, 2010, 05:51:27 PM
tienes razon me acabo de dar cuanta, el error me sale cuando ejecuto la funcion

el error dice.

CitarCOMPILATION ERROR in string to be executed
Error in code at line 1:
  C>B

at position 2: Assignment operator expected.

el codigo es el siguiente:

if(execute_string(A)) ASD = 1;
else ASD = 0;


A es "C>B"
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Alfonsos1 en Enero 06, 2010, 06:00:01 PM
lo puede adaptar para que funcione:

en el evento create:

A = "if(C>B) Condicion = 1; else Condicion = 0;"

en el evento step:

execute_string(A)
if(Condicion) ASD = 1;
else ASD = 0;

Si cambio el balor de C o B el balor de ASD cambia por lo que anda de maravillas

GRACIAS!
Título: Re: Se puede guardar en una variable una esprecion?
Publicado por: Zeit en Enero 06, 2010, 06:08:14 PM
Hola, de hecho te acabo de hacer un ejemplo, que bueno que ya lo resolviste pero lo adjunto para cualquier consulta...

Edicion: Perdon, tambien me equivoque con la palabra "esprecion", no solo va con "x" sino tambien con "s" y acento, asi, expresi?n...