Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: codarck en Septiembre 25, 2017, 06:11:58 AM

Título: duda, code random
Publicado por: codarck en Septiembre 25, 2017, 06:11:58 AM
Hola, quería saber si se puede escoger números random y descartando los que ya van saliendo, estaba probando pero nada :'( algún héroe ?
por ejemplo del 1 al 20, si salio 5, tiene que salir del 1 al 20, cualquier numero menos el 5
estaba usando round(random_range(1,20)), pero ahi nomas quede xD
Título: Re:duda, code random
Publicado por: bygdle en Septiembre 25, 2017, 06:19:10 AM
Guarda el rango de números que quieras escoger en una lista, y luego desordénala:
[gml]
///Algún create de un controlador
globalvar numeros;
numeros = ds_list_create();
for(var i = 0; i <= 9; i++)
    ds_list_add(numeros, i); //Se añaden los números del 0 al 9
ds_list_shuffle(numeros);
[/gml]
[gml]
///Al querer obtener un número
escogido = numeros[| 0];
ds_list_delete(numeros, 0);
[/gml]

La referencia de las listas:
http://docs-gamemaker-es.blogspot.com.co/2017/09/estructuras-de-datos.html
(Sí, sólo quiero spamear el nuevo formato de documentación que estoy montando xd).
Título: Re:duda, code random
Publicado por: codarck en Septiembre 25, 2017, 04:52:27 PM
Cita de: NiuWeb en Septiembre 25, 2017, 06:19:10 AM
Guarda el rango de números que quieras escoger en una lista, y luego desordénala:
[gml]
///Algún create de un controlador
globalvar numeros;
numeros = ds_list_create();
for(var i = 0; i <= 9; i++)
    ds_list_add(numeros, i); //Se añaden los números del 0 al 9
ds_list_shuffle(numeros);
[/gml]
[gml]
///Al querer obtener un número
escogido = numeros[| 0];
ds_list_delete(numeros, 0);
[/gml]

La referencia de las listas:
http://docs-gamemaker-es.blogspot.com.co/2017/09/estructuras-de-datos.html
(Sí, sólo quiero spamear el nuevo formato de documentación que estoy montando xd).

Genial gracias, amm como se lee esto ? [| 0]; <---
Título: Re:duda, code random
Publicado por: bygdle en Septiembre 25, 2017, 09:58:31 PM
Es un accesor, una forma de acceder a los índices de una lista como si fuera un arreglo. Sólo es una abreviación para manejar los datos de la lista.