- if(idPersonaje.x > x)//si la X del personaje es mayor a la del proceso
- flags = 0;
- else
- flags = 1;
- end
También se podría hacer así y eliminar el else:
- flags = 0;
- if(idPersonaje.x < x)//si la X del personaje es mayor a la del proceso
- flags = 1;
- end
Pero aún se puede simplificar más, comprobando si podría eliminar eso con un XOR e probado algunas cosas hasta llegar a esto:
Funcionó, nunca había pensado en esa forma de utilizar > sin un if, la flags se pone en dirección al personaje cuando corresponde, y no necesitas un if/else para eso.
La flags valdrá 0 cuando la X del proceso sea menor que la del personaje (la comparación/condición, no estoy seguro de qué es exactamente aunque diría que es una condición, devolverá 0, falso) y 1 cuando la X del proceso sea mayor a la X del personaje (devolverá 1, verdadero).
Operador lógico [mayor que] utilizado en condiciones. Debe utilizarse entre dos expresiones numéricas y devuelve un resultado lógico:
Falso - Si la primera expresión NO es mayor que la segunda.
Cierto - Si la primera expresión SI es mayor que la segunda.
Esto te lleva a usarlo de otros modos, por ejemplo, quiero que si un proceso esta ascendiendo en un salto tenga el gráfico 36, y si desciende tenga el 37, entonces se podría usar así:
Hay que usar paréntesis ya que el operador + tiene mayor prioridad, si no se usaran paréntesis, entonces primero se sumaría "36 + gravedad" y luego se comprobaría si ese valor es mayor que 0.
El gráfico será 36 cuando la condición sea falsa (devolverá 0), osea, cuando este ascendiendo.
El gráfico será 37, resultado de sumarle 1 al ser la condición verdadera, cuando la gravedad sea mayor que 0 y este descendiendo.