Noviembre 14, 2011, 07:11:23 PM Ultima modificación: Noviembre 14, 2011, 07:29:58 PM por kaliman777
Hola chicos:

Requiero su apoyo para crear esto:
Un cart?n de bingo de 3 l?neas por 5 columnas, con n?meros del 1 al 90. Por supuesto el cart?n s?lo lleva 15 n?meros sin repetirse.
Me urge que: al clicar la tecla N, los n?meros deben cambiar infinitamente, creando n cartones diferentes con el mismo.

Yo tengo este c?digo en create:
[gml]//Declara variables
globalvar Lista;
var i;

//Crea y llena listas de n?meros
for (i=0;i<3;i+=1){
Lista=ds_list_create();
repeat(3) ds_list_add(Lista,irandom(89));
}[/gml]

y en draw este:

//Declara variables
var i,j;

[gml]//Dibuja Listas de n?meros
for(i=0;i<3;i+=1)
for(j=0;j<5;j+=1)
 draw_sprite(sprite1,ds_list_find_value(Lista,j),100+64*j,64+64*i);[/gml]

Ando algo confuso, con lo de repetir cada vez que clicaeo N. un poco de apoyo por favor, gracias
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

#1 Noviembre 16, 2011, 12:59:41 AM Ultima modificación: Noviembre 16, 2011, 01:35:40 AM por klys
Si logre entender lo que deseas hacer es que cuando presionas N se crea un carton de bingo el cual se guarda en una lista.

Se me ocurre asi:

[gml]
// Declaracion de variables
carton [100,15] = 0;
num = 0; // numero a introducir
i = 0; // index del numero de carton
j = 0; // numero que tiene el carton
jPos = 0; // pos del numero dentro del carton
forCheck = 0

// Al presionar una tecla
i += 1;
jPos = 0
do{
jPos += 1;



do{

num = irandom_range (1,90)
forCheck = 0
for (j = 1; j<16; j += 1)
{
   if (num == carton[i,j])
   {
       forCheck = 1
       break
   }
}

}until(forCheck == 0)

carton[i,jPos] = num;

}until(jPos== 15)

show_message("Carton Creado!")
[/gml]

Espero lo entiendas.

Adjuntare un gmk con un ejemplo.... *Implementando*


--- EDIT ---
http://dl.dropbox.com/u/33603247/Generador_Carton_Bingo.gmk
Con ESPACIO generas un carton.
Con FLECHA DERECHA y FLECHA IZQUIERDA te mueves entre cartones


Lo prob? y funciono.

Espero te sirva! :)
Battlefield Galactic (Nombre piloto) Alpha 1.7.5.0
Juego Genero: Multiplayer Online Battle Arena!
Is more than 9000 APM!!

Cita de: klys en Noviembre 16, 2011, 12:59:41 AM
Si logre entender lo que deseas hacer es que cuando presionas N se crea un carton de bingo el cual se guarda en una lista.

Se me ocurre asi:

[gml]
// Declaracion de variables
carton [100,15] = 0;
num = 0; // numero a introducir
i = 0; // index del numero de carton
j = 0; // numero que tiene el carton
jPos = 0; // pos del numero dentro del carton
forCheck = 0

// Al presionar una tecla
i += 1;
jPos = 0
do{
jPos += 1;



do{

num = irandom_range (1,90)
forCheck = 0
for (j = 1; j<16; j += 1)
{
   if (num == carton[i,j])
   {
       forCheck = 1
       break
   }
}

}until(forCheck == 0)

carton[i,jPos] = num;

}until(jPos== 15)

show_message("Carton Creado!")
[/gml]

Espero lo entiendas.

Adjuntare un gmk con un ejemplo.... *Implementando*


--- EDIT ---
http://dl.dropbox.com/u/33603247/Generador_Carton_Bingo.gmk
Con ESPACIO generas un carton.
Con FLECHA DERECHA y FLECHA IZQUIERDA te mueves entre cartones


Lo prob? y funciono.

Espero te sirva! :)
Eres grande:
Me acabas de ayudar en lo m?s dif?cil. Tu engine es 100% bueno.
S?lo hago que los n?meros se creen sobre un cuadrado de color y listo.

Saludos cordiales.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Your wellcome ^^!
Battlefield Galactic (Nombre piloto) Alpha 1.7.5.0
Juego Genero: Multiplayer Online Battle Arena!
Is more than 9000 APM!!

Cita de: klys en Noviembre 16, 2011, 07:06:43 PM
Your wellcome ^^!

Hola Klys:

Te tengo una preguntita:
A) ?C?mo le hago para que en vez de 5x3 me quede 3x5 n?meros? Es decir me pusiste 3 columnas de 5 y yo quiero 3 de 5 n?meros.
B) Me gustar?a que al inicio el cart?n no inicie con puros ceros, sino con valores del 1 al 90.

Gracias y espero tu apoyo una vez m?s.

La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

#5 Noviembre 16, 2011, 11:25:14 PM Ultima modificación: Noviembre 16, 2011, 11:52:40 PM por klys
Cita de: kaliman777 en Noviembre 16, 2011, 07:31:05 PM
Cita de: klys en Noviembre 16, 2011, 07:06:43 PM
Your wellcome ^^!

Hola Klys:

Te tengo una preguntita:
A) ?C?mo le hago para que en vez de 5x3 me quede 3x5 n?meros? Es decir me pusiste 3 columnas de 5 y yo quiero 3 de 5 n?meros.
B) Me gustar?a que al inicio el cart?n no inicie con puros ceros, sino con valores del 1 al 90.

Gracias y espero tu apoyo una vez m?s.



A)
Soy tonto o no entend? la pregunta?
A ver si entend?...

Hice 3 columnas de 5 n?meros, pero quieres 3 columnas de 5 n?meros? ._.

soy tonto XD, ya entendi, ?Implementado!

B)
Empiezan con 0 porque aun no has creado ning?n cart?n, lo que se puede hacer es agregar una variable que cuente cuantos cartones han sido creados, y as? no te muestra ning?n cart?n vaci?, y as? podemos agregar infinidad de cartones, hasta que la variable se desborde.

El que te hab?a pasado solo admit?a 100 cartones.

La soluci?n tomada: Ejecutar el script crear_carton()

-----

Si lo que realmente quieres es que el script de crear cart?n se ejecute N veces, te la pondr? f?cil otra ves ^^

http://dl.dropbox.com/u/33603247/Generador_Carton_Bingo.gmk (link arreglado)

Lo que le eh cambiado:

* Presiona N para crear n cantidad de cartones
* Cree el script crear_carton()
-> El script hace lo mismo que presionar Espacio.
* Desde el inicio se ejecuta ese script para que el primer cart?n no salga con 0s
* Solo puedes explorar cartones existentes, as? nunca veras un cart?n con 0s
* Ampliada la cantidad m?xima de cartones a 9999 (la puedes cambiar por la variable cant_maxima)
* Agregado textos de ayuda y la impresi?n en pantalla de cantidad de cartones existentes.
* Al presionar CNTRL cambia entre vista 5x3 y vista 3x5
* Agrega la palabra BINGO en consonancia con la fila/columna de n?meros!

Espero te sirva! :3

PD: Si no logras entender lo que los scripts hacen, av?same y agrego comentarios explicativos e informativos.
Battlefield Galactic (Nombre piloto) Alpha 1.7.5.0
Juego Genero: Multiplayer Online Battle Arena!
Is more than 9000 APM!!

#6 Noviembre 17, 2011, 01:27:12 AM Ultima modificación: Noviembre 17, 2011, 01:33:30 AM por kaliman777
jAJA, SOIS tremendo :P Lo bueno es que entendiste muy bien.
Te agradezco mucho, amigo.

Ahora  a hacer lo dem?s: background, pagos, etc.

Espero que te animes a ayudarme en el futuro si me surgen nuevas inquietudes.
Mi gran sue?o es hacer un bingo como este: http://www.youtube.com/watch?v=wdHdPLQS_TA
Te prometo hacer todo lo que pueda y me le vas tutoriando no m?s. Mi padrinazo!!

Saludos cordiales.
La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.

Cita de: kaliman777 en Noviembre 17, 2011, 01:27:12 AM
jAJA, SOIS tremendo :P Lo bueno es que entendiste muy bien.
Te agradezco mucho, amigo.

Ahora  a hacer lo dem?s: background, pagos, etc.

Espero que te animes a ayudarme en el futuro si me surgen nuevas inquietudes.
Mi gran sue?o es hacer un bingo como este: http://www.youtube.com/watch?v=wdHdPLQS_TA
Te prometo hacer todo lo que pueda y me le vas tutoriando no m?s. Mi padrinazo!!

Saludos cordiales.

Ah... Los juegos de n?meros! Como me encantan! :D

Tienes mi apoyo! ^^
Battlefield Galactic (Nombre piloto) Alpha 1.7.5.0
Juego Genero: Multiplayer Online Battle Arena!
Is more than 9000 APM!!