Skip to content

Ezee1015/Truco_Java

Repository files navigation

Truco_Java

Logo

Índice

¿Qué es?

Esta aplicación es un juego de truco argentino hecho en java (mediante ant,Neovim y NetBeans). En este juego podrás jugar con un amigo por red o una partida rápida, con una inteligencia que tiene dos modos:

  • Normal: En donde la "Inteligencia" (algoritmo) puede mentir, y jugar de manera más astuta/inteligente.
  • Fácil: Ideado para principiante que comienzan en el truco. Las partidas que se ganen o pierdan, no serán contadas en el puntaje de partidas ganadas.

Ah, por cierto, esta versión no contiene la opción de cantar 'flor'.

¿El modo Multijugador es por LAN o por Internet?

Este juego, además de ofrecer la posibilidad de jugar contra la aplicación (algoritmo), dispone de un modo multijugador en el cual podrás jugar con tus amigos en una partida de 1 vs 1 dentro de la misma red local (dados los permisos correspondientes en el firewall de quien cree la sala de juego). Estos últimos dos modos NO requieren de acceso a internet, aunque, otra opción (con Internet), gracias a la implementación P2P, permite jugar a dos personas en diferentes redes. Esta última opción requerirá de abrir un puerto en el router (que apunte al puerto correspondiente de la PC del servidor) en la red de la persona que cree la sala, para que la computadora cliente pueda comunicarse.

¿Cómo configurar el multijugador por LAN (local)?

No hay necesidad de configurar nada para poder jugar en una red local. Solamente habilitar el puerto de la Sala (el que aparece en la sala de espera del creador de la misma) y del chat (que sería el puerto de la Sala + 1) en el Firewall en la computadora que crea la sala.

Generalmente Windows pregunta al usuario para habilitar el puerto automáticamente al momento de crear la sala. En GNU/Linux, en caso de tener Firewall, se tendrá que hacer manualmente o desactivar el Firewall momentáneamente

¿Cómo configurar el multijugador por internet?

Para poder jugar al truco por internet, desde el lado de quien cree la sala de juego (el servidor), debe de entrar al router y abrir los puertos para el juego o configurar el Port Forwarding hacia la computadora del creador de la sala. Los puertos a activar son:

  • El puerto de la sala
  • El puerto siguiente de la sala (puerto de la sala + 1) que se crea automáticamente para el chat
Servidor

Se configura de la siguiente manera:

Suponiendo que la IP local de la computadora que crea la sala es de 192.168.0.25 en el puerto 1234 (automáticamente se asignará el puerto 1235, en este caso, para el chat). Desde esa computadora se debe ingresar al router desde un navegador (ejemplo de dirección de router: 192.168.0.1) y entrar en la opción "Port Forwarding" e ingresar...

Puerto Inicio (externo) Puerto Final (externo) IP Local Puerto Inicio (local)  Puerto Final (local) Protocolo
1234 1235 192.168.0.25 1234 1235 Ambos / Both
(Puerto Sala) (Puerto Chat) (IP Computadora) (Puerto Sala) (Puerto Chat) Ambos / Both

Para obtener la IP pública de la sala, en la aplicación, cuando se cree la sala, en la ventana de espera se puede pulsar el botón verde a la derecha de la ventana que cambia entre IP Pública e IP Local

Video que puede ayudar con la configuración del router...

Otro video que puede ayudar con la configuración del router...

Cliente

Suponiendo que la IP pública de la computadora que crea la sala es de 12.161.50.5 en el puerto (de Sala) externo 1234

El cliente, deberá ingresar a la aplicación y conectarse a la Sala mediante la IP pública del creador de la sala (12.161.50.5) y el puerto de Sala (1234). El puerto de chat será conectado automáticamente a partir del puerto de la Sala

¿Cómo se juega el Truco argentino?

En este link de Wikipedia hay una interesante guía sobre la historia del truco.

Dependencias

La única dependencia del juego es una versión de Java reciente y un servidor gráfico (generalmente incluido en los sistemas por defecto). Una dependencia opcional: MPV (en caso que no funcione el sonido a través del reproductor de java).

Instalación - ¿Cómo puedo jugar?

Warning

Necesitarás tener Java instalado. Personalmente recomiendo y uso OpenJDK. También se puede usar Java Oracle (más popular)

Puedes descargar un binario según su sistema operativo desde este link.

Windows

Puede descargar el instalador Truco_Java_Windows.zip. Deberá descomprimir el archivo descargado y ejecutar el archivo INSTALL.bat. Esto instalará el juego en la carpeta del usuario, y creará un link en el escritorio. A partir de ahí, ejecutando el link en el escritorio, podrá disfrutar del juego.

Para todos los Sistemas operativos (incluyendo windows)

Sino para cualquier sistema, puede descargar la versión portable Truco_Java_MultiOS.zip. Esta versión es multisistema, por lo tanto se ejecutara sin problemas en Windows, Linux, etc. Una vez descargado y extraído este archivo comprimido, se puede ejecutar el archivo .jar para iniciar el juego. A partir de ahí, podrá disfrutar del juego de manera portable.

Android

Si usas un celular Android, con Termux a través de la tienda de F-Droid (la cual tiene que ser instalada también).

  • Para descargar y ejecutar el script, primero verifique con el siguiente comando que curl está instalado:
apt install curl
  • Ahora ejecute esta linea de código que preparará el juego en su celular:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Ezee1015/Truco_Java/main/instalarTermux.sh)"
  • Una vez finalizado, puede cerrar la terminal ingresando...
exit
  • Luego de ejecutar el script y reiniciar la sesión en Termux, se debe instalar un visualizador de VNC en el celular (NO en Termux), como por ejemplo AVNC.

  • Dentro de dicho visualizador se debe de agregar una nueva conexión con la siguiente información

    • conexión IP: 127.0.0.1
    • Puerto: 5901
    • el usuario se dejará vacío
    • como contraseña, tendrá que crear una, y debe ser mayor a 6 dígitos
  • La configuración de la interacción con el escritorio remoto (conexión VNC) puede ser configurada desde los ajustes del visualizador de VNC

  • Cuando arranque por primera vez el juego (ejecutando el comando truco en la pantalla de Termux), se le preguntará EN TERMUX la contraseña que creó anteriormente en el visualizador VNC, por lo que deberá ingresarla para poder continuar.

Deberá ingresar la contraseña únicamente la primera vez que se juega. Luego de eso, quedará almacenada en la configuración y no le volverá a pedirla

PEQUEÑA ANOTACIÓN: He encontrado problemas en Termux al crear salas de juego multijugador: A veces funciona, otra veces no.

Compilación

Warning

Para poder ejecutar el código fuente se necesitará las siguientes aplicaciones...

  • ant
  • java
  • Un entorno gráfico (X11 por ejemplo)

Si eres valiente, puedes compilar el código fuente de la siguiente manera:

Puedes clonar el repositorio de git con git clone https://github.com/Ezee1015/Truco_Java y una vez dentro de la carpeta se puede ejecutar...

  • make run que ejecutará la aplicación
  • make jar que creará un archivo jar con sus recursos (imágenes, audios, etc.) en /Truco_Java/dist/
  • make clean que limpiará la carpeta /Truco_Java/dist/

Screenshots

Menus

Menu Menu Menu Menu

Multijugador

Menu Menu Menu Menu Menu Menu

Partida Rápida

Menu Menu Menu Menu

¿Por qué este juego no tiene flor?

  1. Por un motivo de simplificación del código del juego.
  2. Personalmente no juego con flor.

Por lo que por ambas razones anteriores, decidí no incluirlo.

¿Qué hago si no funciona el audio y no funciona correctamente el juego? :-(

Si no funciona el audio a través de la solución multimedia que incluye Java por defecto, se puede optar por instalar MPV para hacer funcionar el audio por esa alternativa. En caso que el juego no puede reproducir audio por ninguna de esas vías, se corrompe, por lo tanto, para poder hacer que el juego funcione correctamente, se puede desactivar el sonido desde el menú principal. Con esto el juego no reproducirá ningún sonido, y por ende no se romperá.

¿Qué hago si en Windows se abre como un archivo comprimido? :-(

Este es un problema con la configuración por defecto configurada para la apertura de archivos .jar. Puede solucionarlo siguiendo estas instrucciones o estas instrucciones. El juego se instala en la carpeta del usuario.

Disclaimer

Muchas gracias por haberse interesado en este juego. No se pretende ni se tiene la intención de ofender, insultar ni discriminar a nadie. Esta aplicación fue diseñada en forma humorística para divertir a sus jugadores. No es nuestra intensión perjudicar a ninguna persona y pedimos disculpas de antemano.

Agradecimientos