Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: nano en Julio 11, 2011, 02:21:44 PM

Título: seleccion de numeros
Publicado por: nano en Julio 11, 2011, 02:21:44 PM
Hola a todos! :D
El caso eske estoy haciendo un juego de esos de levantar cartas, el problema que tengo eske cada carta(son 18), debe llevar un numero del 1 al 9 y debe haber dos cartas con cada numero, las cartas son todas el mismo objeto, por eso no se como hacer para que al empezar el juego las cartas se asignen un numero al azar y ke ese numero solo se pueda repetir 1 una vez(por lo de las dos cartas con cada numero) ; e intentado hacer ke funcione de mil maneras sin tener ke usar un objeto para cada carta, pero no hay manera.
alguien sabe alguna manera de solucionar esto? :'(
Título: Re: seleccion de numeros
Publicado por: Killer en Julio 11, 2011, 11:02:07 PM
Hay varias formas de hacerlo, en este momento se me ocurre que podrias crear una lista con los n?meros:

[gml]lista = ds_list_create();
for (i=1;i<=9;i+=1)
repeat(2) ds_list_add(lista,i);
ds_list_suffle(lista);[/gml]

Luego, cuando estas creando las cartas le asignas el primer valor de la lista y luego lo eliminas:

[gml]for (i=0;i<18;i+=1){
  a = instance_create(Obj,x,y);
  a.valor = ds_list_find_value(lista,0);
  ds_list_delete(lista,0);
}[/gml]

Asi cada carta termina con un valor al azar de 1 a 9, repitiendo solamente una vez cada valor.