Page 2 of 7

Re: JUEGO BINGO

Posted: Tue Jan 16, 2024 6:38 am
by edk
Sé que puedo hacerlo desde Windows, pero me pregunto por qué no funciona desde el nivel de objeto. La sintaxis parece mejorar pero hay un error de argumento.

Re: JUEGO BINGO

Posted: Mon Jan 29, 2024 1:21 pm
by mustafa
Hola amigos:
Gracias, amigo Louis, por la aportación de "Bingo"
me he permitido de aportar la generación de 2 "Cartones"
y poder mediante la "X" marcar los cartones con los
números que tenemos.

¿El generador de números aleatorios de los Cartones,
No está funcionando correctamente?

A veces me genera números repetidos, si no nos gusta,
seguimos generando números, hasta que grabemos los
cartones que son los que luego podemos tachar en la
pantalla Bingo.

Grabar cartones mediante [ Botón Capture].

A todos Regars/Saludos/Salam
Mustafa

Re: JUEGO BINGO

Posted: Tue Jan 30, 2024 5:09 pm
by danielmaximiliano
gracias Mustafa

Re: JUEGO BINGO

Posted: Wed Jan 31, 2024 4:09 pm
by mustafa
Hola amigos:
Creo que con la solución aportada por los colegas:
* ----> Ver solución para no repetir números de ROBROS, Jimmy, Franco <------
* https://www.hmgforum.com/viewtopic.php? ... ers#p69709
Los números de los Cartones ahora parecen que no salen repetidos.
Aquí dejo la corrección

Mustafa

Re: JUEGO BINGO

Posted: Wed Jan 31, 2024 4:44 pm
by LOUIS
Hola Sr. Mustafa

Su aporte está muy bueno, Muchas Gracias ...

Sólo que con todo respeto le quisiera hacer una sugerencia, en los cartones los números deberían ir de izquierda a derecha en modo crescendo, es decir, en las 3 primeras columnas irían los números del 1 al 25 ... en las columnas 4-5-y-6 irían los números del 26 al 50 ... y en las 3 últimas columnas irían los números del 51 al 75 ... Esto es para una rápida ubicación visual del número en el cartón, del jugador.

Adjunto imagen de cómo deberían salir los números en los cartones.

Por lo demás, nuevamente muchas gracias Sr. Mustafa.

Re: JUEGO BINGO

Posted: Wed Jan 31, 2024 5:54 pm
by mustafa
Hola amigo Louis
Los números salen aleatorios, no se cómo se podria hacer?
Seguiré estudiando, a lo mejor indexar el fichero dbf. ?
Saludos
Mustafa

Re: JUEGO BINGO

Posted: Thu Feb 01, 2024 5:00 pm
by LOUIS
Hola Amigo Mustafa

Añadí una linea de indexación a su código, en cartones.prg, para ver cómo aparecían los números en los cartones ... los ordenó en modo ascendente, pero veo un inconveniente:

El rango de los números aleatorios del 1 al 75 se reparten en los 2 cartones (ver imagen adjunta que indica la secuencia de cómo llena los 2 cartones); Creo que debería buscar 2 veces los números aleatorios e incorporar cada búsqueda en cada cartón ... o ... dejarlo como está y hacerlo sólo para un cartón y presentar sólo un cartón en la pantalla, para jugar.

Es mi modesta opinión, Ud es el Maestro !

Saludos.

Code: Select all

*-----------------------------------------------------*
Function Proceso()
*-----------------------------------------------------*
* ----> Ver solución para no repetir números de ROBROS, Jimmy, Franco <------
*  https://www.hmgforum.com/viewtopic.php?p=69709&hilit=random+numbers#p69709

   Declare Window Form_1

   Form_1.But_010.Enabled := .T. 

   CLOSE ALL
   USE BINGO
   ZAP
	for nI=1 to 30  
		rndnum:= HB_RandomInt(1,75)   
		locate for z1 = rndnum 

		If ! eof()
			nI--
		 Else
			append blank
                   	replace z1 with rndnum
		Endif
 	 next

   CLOSE ALL
   USE BINGO

   INDEX ON Z1 TO ZZZ			&& <=== LINEA QUE AGREGUÉ PARA INDEXAR Y ORDENAR LOS NUMEROS
 
 DO WHILE !EOF()
    Form_1.Label_1.Value := STR( BINGO->z1 )+ SPACE(2)
    SKIP + 1 
    Form_1.Label_2.Value := STR( BINGO->z1 )+ SPACE(2)
    SKIP + 1 
    Form_1.Label_3.Value := STR( BINGO->z1 )+ SPACE(2)
    SKIP + 1 

Re: JUEGO BINGO

Posted: Fri Feb 02, 2024 1:22 pm
by mustafa
Hola amigo Louis:
Gracias por lo de "Maestro" solo "Aprendiz" :lol: :lol:
¿El problema es que desconozco la normativa de las reglas del "Bingo"
supongo que serán iguales en España?

Por lo que tú comentas, he conseguido que los dos Cartones se generen
como tú indicas, pero al ser independientes la generación de números,
no se puede evitar que algún número se repita en los cartones, ¿no sé
si en la normativa del "Bingo" es correcto?

Por lo demás sale ordenado como tú indicas, es decir, cada tres columnas
del Cartón en sentido vertical, del 1-25,26-50 y 51-75

Espero que con esta corrección podamos jugar a tu Bingo

Saludos/Regards/Salam

Mustafa

Re: JUEGO BINGO

Posted: Fri Feb 02, 2024 11:00 pm
by LOUIS
Hola Amigo Mustafa

Waoooooo quedó muy muy bien, impresionante !!!

Ud es un Maestro !!!

Yo añadí una partecita más de código (una función), porque por acá así se usa cuando cantan los números del Bingo, sólo para cuando los números son del 60 al 79 ... es porque a veces los jugadores no oyen bien y creen que se dijo 74 cuando en realidad es 64 (esto es un ejemplo) o se dijo 79 y en realidad es 69 ... desde luego esto sólo pasa en el idioma español :mrgreen:

Creo que con esto ya está el juego completo, a no ser que falte cómo elegir el idioma, para ubicarlo en el código respectivo, esto es porque algunas computadoras tienen varios idiomas incorporados en el "oVoice := CreateObject( "SAPI.SpVoice" )" y habría que elegir el idioma apropiado.

Por ejemplo en mi caso, en el PC me sale en español, pero en la Laptop me sale en Inglés :oops:

Este problema lo estuvo analizando el Amigo Daniel Maximiliano, pero quedó en espera de alguna respuesta de los Creadores de HMG.

Saludos Amigo Mustafa
Louis

P.D.- Lo que se repite uno o varios números en el segundo cartón, no interesa, todo está ok.

Code: Select all

   Speak ( nAleatorio [ nCount ] )

   DO SESEAR				&& AGREGADO

   DO EVENTS

   INKEY(1)				&& TIEMPO ENTRE UN NUMERO Y OTRO (UN SEGUNDO ES LO IDEAL)
   
NEXT

Code: Select all

*------------------------------------------------------------------------*
FUNCTION PINTANUME( nNum, nLine, nColumn )   // <====== Courtesy of edk
*------------------------------------------------------------------------*
Local nMod 

nMod := nNum / 15 
IF nMod == Int ( nMod )
    nMod --
ENDIF
nLine := ( Int( nMod ) + 1.8 ) * 072 

nMod := nNum % 15
IF nMod = 0
    nMod := 15
ENDIF

nColumn := 15 + ( nMod - 1 ) * 90
 
M4 := nNum					&& AGREGADO

RETURN

Code: Select all

*--------------
FUNCTION SESEAR

IF M4 > 59 .AND. M4 < 80			&& PARA SESEAR

   IF M4 < 70
      VOZ1='SEIS'
    ELSE
      VOZ1='SIETE'
   ENDIF

M5 = SUBSTR( STR(M4,2,0),2,1 )

IF M5='0'
   VOZ2='CERO'
ENDIF
IF M5='1'
   VOZ2='UNO'
ENDIF
IF M5='2'
   VOZ2='DOS'
ENDIF
IF M5='3'
   VOZ2='TRES'
ENDIF
IF M5='4'
   VOZ2='CUATRO'
ENDIF
IF M5='5'
   VOZ2='CINCO'
ENDIF
IF M5='6'
   VOZ2='SEIS'
ENDIF
IF M5='7'
   VOZ2='SIETE'
ENDIF
IF M5='8'
   VOZ2='OCHO'
ENDIF
IF M5='9'
   VOZ2='NUEVE'
ENDIF

oVoice:Speak(VOZ1 + ' ' + VOZ2)

ENDIF

RETURN

Re: JUEGO BINGO

Posted: Sat Feb 03, 2024 2:20 pm
by brunellopulix
Hola todos
He desarrollado un programa para crear cartones de Bingo (1-90).
Me gustar¡a compartirlo en el foro y me gustar¡a integrarlo con este 75.
Pero m s all  del 1-25 26-50 y el 1-75 no lo s‚.
Me gustar¡a saber c¢mo van ordenados en las tres columnas de cada grupo.
Gracias.
Adjunto algunas im genes de mi trabajo.

Brunello Pulix