Hola a todos, haber, me explico:
Tengo 5 variables:
global.variable1=13
global.variable2=21
global.variable3=35
global.variable4=46
global.variable5=57
-?Como las puedo mostrar en pantalla de tal forma que esten en orden de mayor a menor, el que mayor tenga el numero que est? arriba (Como una clasificaci?n de futbol, una cosa as?)?
Es decir que queden as? en pantalla si las dibujo:
---Clasificaci?n---
1?---Variable5----------------------------------------------57
2?---Variable4----------------------------------------------46
3?---Variable3----------------------------------------------35
4?---Variable2----------------------------------------------21
5?---Variable1----------------------------------------------13
Un saludo!! ;)
sin modificar tu codigo.
en el event draw.
if (global.variable1 > global.variable2) and (global.variable1 > global.variable3) and
(global.variable1 > global.variable4) and (global.variable1 > global.variable5)
{draw_text("variable1"+string((global.variable1)))}
Esto lo haces igual para cada global.variable. la explicacion aqui solo mostraria la global.variable1 si es mayor que todas las demas...
global.variable
una manera mas limpia declara unas variables temporales y asignales las global.variable.
var a, b, c, d, e;
a=global.variable1
b=global.variable2
c=global.variable3
d=global.variable4
e=global.variable5
if (a > b) and (a > c) and (a > d) and (a > e)
{draw_text("variable1"+string((global.variable1)))}
Como puedes notar queda mas organizado.
oye todo esto va en el event draw.
Gracias por contestar elvispresley :D , oye el codigo este:
Cita de: elviskelley en Febrero 13, 2010, 02:14:10 PM
{draw_text("variable1"+string((global.variable1)))}
que es lo que hace ?, muestra en pantalla la variable1 +...?
otra cosa, creo que ese codigo no valdria porque lo que hace es ver si "a" es mayor que las demas, pero habria conflictos al hacerlos con los demas porque seria una cosa asi:
if a > b and if a>c ...
{
draw_text... 1?
}
como pondrias la b si es segunda por ejemplo??
bueno muchas gracias por contestar tio, este codigo es mu jodio lo e intentao en varios lenguajes y nunca me ha salido bueno un saludo
Uy, un desafio, q divertido XD
A ver... (esto tomo mas tiempo de lo q parece):
a=var1
b=var2
c=var3
d=var4
e=var5
check()
Script Check:
if e>d {v=e e=d d=v check()}
if d>c {v=d d=c c=v check()}
if c>b {v=c c=b b=v check()}
if b>a {v=b b=a a=v check()}
Draw:
draw_text("Var1="+string(a))
draw_text("Var2="+string(b))
draw_text("Var3="+string(c))
draw_text("Var4="+string(d))
draw_text("Var5="+string(e))
Bueno, no le he probado, pero confio en que funcione, suerte, me has dado en q pensar a esta hora XD
Hola, puedes usar listas en lugar de variables y hay una funcion para ordenar, saludos.
lo reformule a una manera mas facil para ti.
var a, b, c, d, e, f; //declaro las variables.
a=global.variable1
b=global.variable2
c=global.variable3
d=global.variable4
e=global.variable5
f=max(a,b,c,d,e) //devolvera la vaiable con el mayor valor.
if f=e
{draw_text(x,y,"variable5: "+string(e))}
else
if f=d
{draw_text(x,y,"variable4: "+string(d))}
else
if f=c
{draw_text(x,y,"variable3: "+string(c))}
else
if f=b
{draw_text(x,y,"variable2: "+string(b))}
else
if f=a
{draw_text(x,y,"variable1: "+string(a))}
//asi sera mas facil para ti.
//solo cambia los nombres global.variables por las que desees comparar.
Hice el ejemplo lo dejo adjunto.
El codigo este esta en el script0
y lo llame desde el event draw del object0.
para sumar puntos usa las teclas, a,s,d,f,g.
veras como muestra solo la variable con mayor valor.
Pues aun que ya este resuelto, conosco otro metodo para ordenar variables de mayor a menor (incluso a la inversa, si se desea): el metodo de la burbuja. Y funciona precisamente con arrays (aun que se las puede ingeniar uno para que funcione de otra manera).
el Pseudocodigo ser?a as?:
var N=(cantidad_de_espacios_en_el_arreglo)-1;
var axuiliar;
for(i=0;i<=n-1;i++)
{
for(j=i+1;j<=n;j++)
{
if(array[j]>array)
{
auxiliar=array
array=array[j]
array[j]=auxiliar
}
}
}
de esta manera obtienes el arreglo ordenado de mayor a menor, siendo la posicion 0 el mayor y la posicion n-1(el final del arreglo) el menor.
;)
Muchisimas gracias a todos sois la puta makina XD, weno 1 saludo y ahora a darle ca?a... ;)