Saltar al contenido

"Jugar" al poker


Antoni

Recommended Posts

publicado
Creo que el valor del aporte de Pedro no es es la fórmula en si, ya que de hecho se trata de un rango. Lo verdaderamente importante para mi, es haber descubierto que a una imagen se le puede aplicar una fórmula, cosa que yo desconocía.

No es solo para imagenes, cualquier objeto tiene la opcion de formulas, cuando los incrustas veras arriba que te permite asignarles una formula. Me ha sorprendido que lo descubras ahora despues de tantos paises conquistados, esta creo que fué una de las primeras cosas que aprendí en excel.

Todos los dias se aprende algo nuevo!

Un saludo.

publicado

Hola Jorge, delete significa borrar en inglés y es lo que ocurre.

Con visible sólo se ocultan o muestran las imágenes y los índices de los shapes deben seguir siendo los mismos.

El problema de desfase de índices ocurrirá si se borran aleatoriamente con delete los shapes.

Si no se quieren borrar todos a la vez con el código que has indicado, lo normal será borrar primero el índice más alto con un for..next decreciente o con:

Do While Cht.Shapes.Count > 0
Cht.Shapes(Cht.Shapes.Count).Delete
Loop[/CODE]

publicado

Hola amigos Santi y Antonio, Excel tiene mucho tomate escondido y lo importante es seguir bregando para extender el Imperio Excel a los países de habla hispana que aún no han sido conquistados.

En el diccionario de la rae.es se dice de:

valer un imperio alguien o algo.

1. loc. verb. coloq. Ser excelente o de muchísimo mérito.

Para aprender más, pienso que faltan foreros y foreras que, siendo EXCELentes, compartan sus opiniones y sus conocimientos porque siempre somos los mismos...

Invitado jorgetchake
publicado

Saludos…

Lo hice,…. Usando las barajas de MA y la fórmula de VerZulSan, con la variante propuesta por MA,…. El uso de la fórmula me permitió dejar las columnas como el original,…. Funcionar funciona,… debo revisar porque está tan lento,… me temo que sea por el manejo de las imágenes.

Para mi lo importante en estos momentos es que tengo el gusto de ver las barajas casi como son realmente,….

En la versión adjunta,… incluso eliminé la hoja Tapete.

Amigos,… nuevamente muchas gracias por la ayuda.

Cordiales saludos.

juego-poker-let-and-raid.diseño7.zip

publicado

Hola Pit, ellos se lo pierden. Tampoco somos tan pocos, podriamos ser mas si, pero... ¿Y lo bien que nos lo pasamos cuando nos quebramos la cabeza buscando soluciones?, para mi esto es como hacer sudokus;adictivo, te da agilidad mental, te entretiene en los ratos libres, ¿que mas se puede pedir?

Muy currado te está quedando Jorge si señor.

Un saludo a todos.

Invitado jorgetchake
publicado

Especiales saludos,…

Hasta ahora,…. Mi jueguito está funcionando muy bien,…. Logré mejorar la velocidad de proceso,.. ayer les decía que temía que la lentitud fueran por las imágenes que se manejan,… VZS (perdón la confianza,.. me refiero a VerZulSan) cuando explicó que los Pictures podían tener una fórmula,… pues ésta hace que constantemente se esté cargando el rango que contiene la imagen que queremos visualizar,…. Lo que hice y hasta ahora funciona es, después de insertar la fórmula la borro y queda la imagen congelada,… por lo tanto no se hace el refresco de la pantalla constantemente ganando un tiempo muy importante. Si pueden,…. comparen los tiempos de la versión de ayer con la que adjunto. Ni idea tengo si es lógico,… al menos todo funciona como debe ser.

No sé si se podría lograr el mismo efecto con el Metodo Calculate,… intercambiándolo entre manual y automático,… pero no entendí un pepino.

El barajado del mazo,.. se hace cada 10 pases,… antes de la modificación,… el barajado duraba unos cuantos segundos,…. Ahora casi ni se puede leer el cartel de ‘Espere estoy Barajando’,… y bueno así son las cosas y que grande es el Excel.

Amigos …. Mis respetos.

Cordiales saludos.

juego-poker-let-and-raid.diseño8.zip

publicado

Jorge, la verdad es que no noto mucha diferencia, practicamente ninguna, he borrado todas las lineas que has puesto de Formula = "" y o mi ordenador es muy rapido o no se... solo he notado que con la version 2007 da errores 1004, pero eso si que debe ser de mi pc, tampoco lo he investigado mucho.

De todas formas, te creo que te vaya mas rapido, para no tener que poner constantemente Formula = "", basta con que lo pongas una sola vez dentro de la propia funcion Card y listo, ya te la borra antes de salir.

Un saludo currante.

Edit: Edito para darte toda la razon del mundo Jorge, se me vino a la cabeza de nuevo el problema tuyo y caí en lo que decia Antoni, es una formula y como tal, actua de la misma manera, cada vez que hay cambios en la pagina, se refresca automaticamente todas las formulas de la pagina, y al ser esta una imagen, ha de cargarlas totalmente ampliando el tiempo de espera considerablemente aun que en algunos ordenadores apenas se note.

Gracias por darte cuenta y corregirlo.

Un saludo!

Invitado jorgetchake
publicado

Estimado Verzulsan

Espero no molestarte (mucho),… pero no pude borrar la fórmula como me sugeriste,…

De todas formas, te creo que te vaya mas rapido, para no tener que poner constantemente Formula = "", basta con que lo pongas una sola vez dentro de la propia funcion Card y listo, ya te la borra antes de salir.

Al no lograrlo,… se me ocurrió lo siguiente,.. creando una matriz.

Dim ncarta(1 To 5) As Picture

With Sheets("Let y Raid")
For en = 1 To 5
Set ncarta(en) = .Pictures("ncarta" & en)
ncarta(en).Formula = Card2(.Range("V3" & en - 1).Value) ‘’ valor de V30 a V34
ncarta(en).Formula = "" 'al borrar la fórmula,... queda congelada la imagen
Next en
End With[/CODE]

Lo estoy probando y va bien,… pero me quedaré tranquilo si me confirmas si es correcto o no.

Mi duda surge porque al declarar la matriz,… en la lista desplegable que sale al poner AS, no figura el Picture,…. Igualmente lo puso en mayúscula como hace con todo lo que es reconocido por el sistema.

Muchas gracias y disculpa por el abuso.

Cordiales saludos.

publicado

Adjunto cartas del póquer en español para diferenciarlas del poker inglés.

Además de los clásicos póquer abierto y cerrado, incluyo el juego de Corazones

Como dijo Macro Antonio en el primer post de este tema, de "Jugar" al poker nada de nada.

Ahora las cartas ya no existen, ¡se pintan según convenga!, ya que son automáticamente generadas "al vuelo" con macros, resultando estas cartas:

5b4sk6.jpg

ioyama, verzulsan, jorgetchake, espero que paséis tan buenos ratos como yo los he pasado construyéndolo desde scratch y sin un solo Copy o CopyPicture!!!

POQUER_PW1.zip

publicado

Hola a todos los del hilo.

Voy escaso de tiempo, las proximas dos semanas apenas visitaré el foro puesto que estoy a tope de examenes y trabajos.

Jorge, ya te comentaré sobre tu pregunta cuando tenga algo de tiempo.

Pegones, dejo aqui un link de poker en excel, tiene formas de excel aun que claro, sin caracteres pero está muy bien, ademas de tener otros juegos hechos intregramentes en excel.

http://www.excelgames.org/blackjack.asp

Un saludo, y a ver si tengo suerte las proximas dos semanas.

publicado

verzul, ¿qué haces aquí? ¡a estudiar!

El juego del link que adjuntas tiene las imágenes de las 52 cartas insertadas como formas (shapes)

En nuestras versiones las cartas toman forma en las propias celdas de Excel, con programación automática en VBA.

Ya sé que falta la lógica del juego pero eso no es Excel, son algoritmos en macros.

Veo que has cambiado tu firma. Como comentario esta otra de Einstein:

ExcelFormulas = Macros * Cálculo^2

publicado

Hola Macro Antonio, tengo que poner peros a tu macro para repartir las cartas.

Repartida(Palo * Naipe)

Esta fórmula no reparte bien porque con Palo=1 y Naipe=3 se piensa que ya se ha repartido el Palo=3 y el Naipe=1, por la propiedad conmutativa de la multiplicación. Además se produce un bucle infinito si se reparten 52 cartas.

Es más correcta esta fórmula que realmente ocupa un booleano para cada carta:

Repartida((Palo - 1) * 13 + Naipe)

En el adjunto POQUER_PW1.xls que publiqué en el post #34 empleé una matriz del tipo:

Repartida(3, 12) As Boolean

Repartida(Palo - 1, Naipe - 1)

Para los que no estén acostumbrados, las matrices comienzan por defecto en el índice 0, por lo que va de 0 a 3 (4 palos) y de 0 a 12 (13 valores).

publicado
Para los que no estén acostumbrados, las matrices comienzan en el índice 0, por lo que va de 0 a 3 (4 palos) y de 0 a 12 (13 valores).

Para evitar confundirme a mi mismo siempre antecedo el Modulo con Option Base 1, lo cual permite que las matrices comiencen con el uno.

Saludos

publicado
...Para los que no estén acostumbrados, las matrices comienzan por defecto en el índice 0, por lo que va de 0 a 3 (4 palos) y de 0 a 12 (13 valores)...

Las matrices comienzan donde les digamos que comiencen, si no lo indicamos, como dices Pedro, las matrices inician en 0.

A mi, personalmente, me parece extramadamente recomendable especificar siempre el inicio y el fin de cada dimensión de la matriz (así es perfectamente claro para cualquiera en dónde inicia y termina cada dimensión de la matriz):

Repartida(0 to 3,0 to 12) As Boolean[/CODE]

ó

[CODE]Repartida(1 to 4,1 to 13) As Boolean[/CODE]

publicado

Concuerdo contigo Mauricio, sin embargo en casos como el que expongo abajo me parece que no existe forma de especificar previamente el inicio a no ser con Option Base 1, si me equivoco bienvenida sea la corrección.

Sub Test()
Dim vBase as Variant
vBase = Range(“BaseDeDatos”)
etc.......
End sub[/CODE]

Saludos

publicado
Aunque en el ejemplo que mencionas por defecto la base es 1

Correcto, jamás me había tomado la molestia de probar:o...

Saludos

publicado

Hola a todos:

Yo como ya tengo el cerebro un poco seco desde hace bastante, se me hace muy cuesta arriba eso de que el primer elemento es el cero el segundo es el uno, etc, etc....

Por eso ya he borrado de mi mente lo de Option Base, simplemente el 1 es el 1 el 2 es el 2 y así sucesivamente,y de cuando en cuando utilizo el elemento cero para marcar algún detalle que me interesa.

Pedro: Llevo unas semanas muy apretado de tiempo, pero no he dejado el tema, prometo mirarme todos los palos (por lo de los naipes), y nunca mejor dicho, que me habeis dado.

Saludos.

publicado

Macro, ya sabes que con buenos palos y maderas hacían sus barcos los faraones egipcios...

En el fichero del post #34 lo único que son fotos son las J, Q y K, lo demás está generado con macros, ¡como a tí te gusta!

Como vengo de otros lenguajes en que las arrays comienzan en 0, siempre pienso así, aunque ¡ahora que pienso! el naipe 0 puede ser el COMODÍN o JOKER (no confundirlo con POKER) :mad:

Invitado jorgetchake
publicado

Estimados amigos

En el post 35, Verzulsan nos dio referencias al trabajo hecho por un brasilero,… el programa corresponde al juego de Black Jack, que usa las mismas cartas que el Póker.

De ese programa copié las cartas y las incluí en mi juego Let & Raid,…. Se ven bastante bien,… lo que no sé es como fue hecho,.

Al incluir esas cartas,… se agrandó tanto el libro que supera la cantidad máxima prevista en las reglas del foro,… por eso para poder enviarlo hice dos libros,… uno que es el juego propiamente dicho y el otro con las cartas,… al cargarse el juego,… en el evento Open de ThisWorkBook, testeo si el libro ya tiene las cartas,… si no las tiene las tomará del libro adjunto con las cartas. Una vez que el juego esté ejecutable,… grábenlo para prescindir del libro con las cartas.

Espero les funcione,…

Cordiales saludos

Cartas-poker-reales.zip

juego-let-and-raid-solo-codigo.zip

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.