🔝To translate this blog post to your language, select it in the top left Google box.
Esta es la cuarta parte de una serie de artículos con los que intento diseñar en Excel un juego de cartas con una variante especial del Rabino.
Al final de este artículo hay un enlace a todos mis juegos de cartas.
En esta Parte 4 explicaré:
♥️ Cómo repartir las cartas de la baraja.
♠️ Cómo colocar las cartas de cada jugador.
♦️ Cómo guardar las cartas de cada jugador
♣️ Cómo guardar las cartas en la pila de descartes.
En esta imagen se ve el resultado de repartir 10 cartas a cada jugador y de echar la primera carta en la pila de descartes.
En esta fase de desarrollo del juego se muestran todas las cartas hacia arriba, lo que será diferente en las entregas de las próximas partes de este Rabino. De momento, pienso que es más didáctico ver las cartas de los dos jugadores que mostrar únicamente las cartas del jugador humano...
Las cartas se reparten de dos en dos, alternando a cada jugador, o sea, las primeras dos cartas a un jugador, las segundas dos cartas al otro jugador, y así sucesivamente hasta que cada jugador tenga 10 cartas.
En la Parte 4 aún no pueden repartir las cartas los dos jugadores, solamente el jugador humano que tiene las cartas colocadas en la fila de abajo.
Para que sea más realista el juego, hay que repartir cada carta moviéndola a su posición según el criterio de reparto. No descarto que, en una fase más avanzada del desarrollo, sea posible automatizar el reparto de las cartas con sólo hacer clic en la primera carta del mazo barajado, sin necesidad de moverlas a mano una a una...
El procedimiento actual de cómo repartir las cartas se podrá ver en un vídeo que publicaré más abajo.
Las cartas se reparten con la macro RepartirCartas, que está en el módulo: modReglas, siguiendo estos pasos:
1) Al hacer clic en una carta cualquiera se llama a la macro: ReglasJuego
2) Para determinar la carta tocada se llama a la macro: JugarCarta
3) Con la macro: BuscarCarta, se busca la fila y columna de la carta jugada en la hoja 'CartasMapa'.
4) Siendo el estado del juego el caso 3 (variable iRegla) se llama a la macro: RepartirCartas
5) Finaliza la macro si la carta no está en la columna 2 de la hoja 'CartasMapa', pues es la columna del mazo de cartas a repartir.
6) Si la carta está en la columna 2, llama a la macro: MoverCartas, que permite mover la carta por todo el tapete.
7) Se analiza si la carta se ha dejado cerca de la posición donde hay que repartir la carta, con la macro: ProbarEchar
8) Si la carta está bien repartida al jugador correcto y en la posición correcta, se copia su valor a la siguiente posición libre de la columna 4 de las hojas 'CartasMapa' y 'CartasVis'.
9) Si hay que mostrar la carta se hace cambiando la fórmula de la forma de la carta.
10) Se coloca la carta repartida en su posición correcta con la macro: ColocarCarta
11) Si la carta se ha dejado en cualquier sitio, vuelve a su posición inicial dentro del mazo.
12) Una vez repartidas las 20 cartas, se cambia el estado del juego al caso 4 (variable iRegla) y, al hacer clic en la siguiente carta del mazo, la echa en la pila de descartes con la macro: ApilarCartas
El resultado final se muestra en la imagen de las hojas 'CartasMapa' y 'CartasVis':
En la columna B están las cartas que aún quedan en el mazo. En la columna C está la carta echada en la pila de descartes. En las columnas D y E están las cartas de cada jugador. Las cartas de arriba corresponden a la columna D y las cartas de abajo corresponden a la columna E.
Las cartas se van repartiendo de dos en dos de modo alterno a cada jugador, colocadas en las posiciones indicadas en las columnas D y E de las hojas 'CartasTop' y 'CartasLeft'.
La fila 11 de esas columnas sirve para conocer la posición de la carta que cada jugador robará del mazo o de la pila de descartes. Pero eso se verá en la siguiente entrega, en la Parte 5 de este juego del Rabino.
La macro CopiarCartas mueve las cartas entre las columnas de las hojas 'CartasMapa', con sus valores, y 'CartasVis', con su visibilidad.
Con la macro ApilarCartas se echa una carta a la pila de descartes, colocando la carta en una posición y con una rotación aleatorias, para echar la carta de la forma más real posible. Y se llama a la macro CopiarCartas para cambiar la carta de columna en las hojas 'CartasMapa' y 'CartasVis'.
En este vídeo explico cómo repartir las cartas a los dos jugadores del Rabino, y cómo echar cartas en la pila de descartes.
Descarga la Parte 4 de una variante del Rabino, compatible con las versiones de escritorio desde Excel 2010 hasta Excel para Microsoft 365.
- Sites Google Drive: RABINO - PW4.xlsm
Las macros del archivo descargado están bloqueadas por defecto. Para desbloquear las macros debes modificar las Propiedades del archivo siguiendo estas instrucciones:
Las macros de Internet están bloqueadas de forma predeterminada en Office - Deploy Office | Microsoft Learn
Abre el archivo y presiona el botón: Habilitar edición cuando aparezca el aviso de VISTA PROTEGIDA.
Presiona el botón: Habilitar contenido cuando aparezca la ADVERTENCIA DE SEGURIDAD Las macros se han deshabilitado o se deshabilitó parte del contenido activo.
Las macros VBA no están protegidas, por lo que puedes analizarlas. Las hojas están protegidas con una contraseña que es fácil conocer, pues está guardada en VBA escrita en la constante: sContra.
ATENCIÓN: Se puede modificar este libro de Excel respetando esta licencia:
Creative Commons — Atribución-NoComercial-CompartirIgual-No portada — CC BY-NC-SA 4.0
En este enlace encontrarás todos mis juegos de cartas programados en Excel:
Me ayudarás si me indicas las erratas que encuentres en este artículo, y si me comentas qué es lo que te gustaría ver en los próximos artículos.