Juego del Tic Tac Toe Humano vs PC en Java, IDE: NetBeans

Bien pues aquí dejo una aplicación que hice sobre el clásico juego del gatito, también llamado Tres en Raya, tres en linea, Tic Tac Toe y de muchas otras formas más D:

Está hecho en Java y es un proyecto de NetBeans. Es algo sencillo y consiste en enfrentarse contra la PC.
Va mostrando cuáles son los movimientos realizados por ambos jugadores y una estadísticas de juegos ganados, empatados y perdidos. El código lo intenté hacer lo más explicado posible.
Usé hilos para la parte de la respuesta de la máquina. Ojo, en el juego es el humano el que tira primero para darle cierta ventaja. Según yo el humano no gana nunca.

Lo anterior es porque se trata de eso, de demostrar que la PC tiene la capacidad de “pensar” y reaccionar ante las jugadas del humano. Fue un proyecto para la materia de Inteligencia Artificial de mi uni 😀

Bien mucho blabla, aquí está el código
Sólo para terminar una explicación de como funciona:
1.- El humano tira
2.- La pc revisa si ya ganó, luego si puede ganar ella, luego si el usuario está punto de ganar
3.- Dependiendo de lo anterior es su jugada
4.- Si no cumple ninguna de éstas, tira en una esquina
5.- Aún con todo esto hay unas jugadas donde el humano gana… Pero ya las programé para que cuando detecte estas jugadas haga un movimiento distinto y las evite 😀
Fue lo mejor que lo pude explicar xD en fin, para probarlo, descárguenlo, revisen el código, e intenten ganarlo corriendo el jar Tercia.jar 😀
Por cierto, incluyo dos, TERCIA es el mejor para mi, el otro fue uno que hice rápido para ayudar a un compañero, está algo más sencillo. Lo importante es el hilo que está al final de clase principal 🙂

Problemas con Tarjeta gráfica AMD Radeon en Linux (Brillo, etc)

Que tal, recién acabo de instalar Crunchbang y Linux mint después de varios meses de no usar linux y me encontré con un problema:

Las teclas FN+… del brillo simplemente no me funcionaban. Aparentemente subia y bajaba el brillo (aparecía el ícono) pero no hacía nada. Probé de todo, instalar xbacklight, modificar un archivo de configuración de grub etc.

Ya iba a compilar mi kernel para ver qué podía agregar que resolviera mi problema pero consulté la página de AMD y encontré la solución:

Simplemente instalar AMD Catalyst para Linux

http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx

Descarguénlo, descomprímanlo

$ unzip nombre_del_archivo

dénle permisos de ejecución al archivo extraído

$ chmod +x nombre_del_archivo

y como súperusuario ejecutarlo

# ./nombre_del_archivo

aparecerá un cuadro para instalar, instalen, reinicien y listo 😀

La batería ahora me dura más.

Esa fue la solución en mi caso (probada en linux mint debian), espero les sirva. Saludos y gracias por leer 🙂

Añadir aplicaciones al inicio de sesión de un usuario desde consola

Esto lo hice con un entorno gráfico Gnome.

Bien, si tienes el entorno gráfico se pueden agregar las aplicaciones al inicio fácilmente desde Preferencias>Aplicaciones al Inicio pero a mí siempre me ha gustado hacer todo por consola… Sí, aunque use un entorno gráfico xD

Para agregar estas aplicaciones cuando un usuario inicie sesión tenemos que crear un archivo en la siguiente ruta /home/tusuario)/.config/autostart

La ruta es la de tu usuario, ahí hay, entre otras, una carpeta oculta llamada “.config”. Recordemos que para esconder algún archivo o carpeta anteponemos ese punto “.”. Y ya dentro de esa carpeta existe otra llamada autostart. Aquí colocaremos las aplicaciones que querramos que se inicien, empecemos entonces.

Desde una consola, ojo, logueados como nuestro usuario normal (no root) vamos a dicha carpeta:

$ cd /home/tusuario/.config/autostart

Pantallazo 1

cd /home/(user)/.config/autostart

Ya en esta ruta crearemos un archivo que deberá llamarse algo así como “aplicacion.desktop” lo de aplicación sustitúyanlo por el nombre de la aplicación a iniciar. Como ejemplo usaré guake (la terminal que ven en mi captura de pantalla). Con su editor de textos favoritos entonces creen en archivo:

$ nano guake.desktop

Y ya en el siguiente archivo deberemos escribir algo como lo siguiente:

[Desktop Entry]
Type=Application
Exec=guake
Hidden=false
X-GNOME-Autostart-enabled=true
Name=Guake
Comment=Terminal bonita xD

Los valores que deberán cambiar son Exec, en donde deberán poner la orden que lanza la aplicación, en mi caso es guake, si quisieran lanzar chrome sería “google-chrome”, etc 😛

El siguiente valor a modificar es Name, pueden ponerle lo que quieran, es sólo descriptivo 😛

Y por último Comment. Igual que el anterior es sólo descriptivo.

Por último, sólo para comprobar ejecutaremos un ls -l

$ ls -l

Y deberá aparecer como dueño nuestro usuario, de lo contrario esto no funcionará 😛

Y es todo. Por cada aplicación a agregar se debe crear un archivo, lo que hago yo es copiar uno ya existente y sólo cambiarle los 3 valores 😛

Montando un servidor web con Nginx: Primera parte: Instalando Nginx con soporte para PHP y MySQL en Debian

Hoy empezaré un pequeño manual que estará dividido en varias partes. Este consiste en el montaje de Nginx, un servidor web (como el famoso Apache) pero que trae aún más funcionalidades, las cuales las iremos conociendo a estos manuales.

La primera parte es algo básico. Es la instalación de nginx, mysql y php y claro las configuraciones necesarias para que trabajen juntos y correctamente 🙂

Sin más palabras, aquí el manual:

Nginex

Cambiar la distribución de teclado (keyboard layout) de xdm a Español- Gentoo

Si tienes entorno gráfico y en la pantalla de login de pronto ves que si oprimes la tecla que deberia ser un signo de interrogación y sale un guión bajo, es porque la distribución de tu teclado está mal… Pero si estás leyendo eso es porque lo más seguro es que eso ya lo sabes 😛

En mi caso estoy usando Gentoo y buscaba información y las páginas que consultaba daban soluciones pero editando archivos inexistentes, a razón de esto es que tenía X no modular.

Hay dos opciones para resolverlo, la prima es migrar al X modular

http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml

y la segunda es quedarnos como estarnos y modificar el archivo que en verdad es de nuestro X.

Lee el resto de esta entrada