Hace tiempo me pidieron el código fuente de un juego de Puzzle de Neon Genesis Evangelión, este juego es completo, tiene sonido, registro de jugadas, se pueden cargar diferentes juegos de imágenes mediante el uso de XML, etc, sin embargo al ser tan completo contiene muchas lineas de código y también muchas clases, ademas de hacer uso de algunas librerías externas, todo esto hace que su estudio sea mucho más extenso y complicado por programadores novatos, así que considero mucho mejor dejarles un proyecto mucho más sencillo y mucho más entendible pero no por eso menos interesante, al fin y al cabo lo que interesa conocer es como programar un rompecabezas, ya el que quiera después le puede agregar sonido, contador de movidas y demás complementos que vea por conveniente.
El proyecto está comentado, sin embargo no esta demás algunas aclaraciones.
Respecto al juego tenemos:
El proyecto esta estructurado en las siguientes paquetes y clases
- jcPuzzleSample ----- Game.java ----- Main.java ----- frmPrincipal.java - pieza ----- btnPieza.java - pieza.rec ----- logo.jpg ----- vacio.jpg - puzzle ----- puzzle.game1 ----- puzzle.game2
Game: En esta clase se encuentra la lógica del juego. El juego funciona bajo una matriz de 3×3, sin embargo puede modificarse para el tamaño que se desee.
El juego funciona de la siguiente manera:
Un array de tipo int[] win = {1,2,3,4,5,6,7,8,-1} almacena las posiciones ganadoras del juego, es decir el puzzle completamente armado, otro array int[] pos_juego = new int[win.length] , del mismo tamaño que el anterior va almacenando las diferentes posiciones que pueden tomar las casillas en el transcurrir del juego, se puede advertir un elemento «-1» en ambos array, este simboliza una casilla vacia.
Ten en cuenta que si bien se hace uso de array, estamos hablando de una matriz 3×3
Cuando se hace clic en una casilla, esta busca un espacio libre (casilla vacía) donde moverse, si la encuentra se desplaza a esa posición actualizando las posiciones de las casillas almacenadas en la variable «pos_juego», si no existe ninguna posición libre, se queda donde esta, el juego finaliza cuando se termina de armar el puzzle, osea cuando las variables win y pos_juego son iguales.
frmPrincipal: Es un JFrame, la interfaz del juego.
btnPieza: esta clase es un JButton, con esta boton formaremos una matriz de controles para el puzzle.
puzzle: es un paquete el cual tiene dentro otros dos paquetes game1 y game2, estos paquetes almacenan las imagenes del rompecabezas.
Eso es todo, el juego ocupa tan solo tres clases en comparación del juego de Neón Genesis que tiene 14 clases, pero estas tres clases son suficientes para realizar un rompecabezas.
Si no te quedo claro, échale un ojo al siguiente video 🙂
Descarga el juego AQUI
El proyecto en java/Netbeans 6.9 AQUI
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
Ya tengo varios post sobre conexión a base de datos en varios lenguajes y claro no podía faltar c#, el siguiente tutoria...
Java Network Launching Protocol (JNLP) es una especificación usada por Java Web Start. Esta especificación, permite tene...
Java proporciona Collection Framework, que define varias clases e interfaces para representar un grupo de objetos como u...
Eratóstenes era un matemático griego del siglo III a.C. el cual ideó una manera rápida de obtener todos los números pri...
Sourcetrail el explorador de código fuente de los lenguaje C, C ++, Java y Python se pasa al Software Libre y desde ahor...
Una Interface Funcional es una interface que contiene uno y solo un método abstracto aunque puede contener métodos por d...
Los comentarios estan cerrados
El gigante tecnologico Google a puesto un bonito Doodle en su buscador que esta fascinando a sus millones de usuarios qu...
WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es...
Muchas de las innovaciones computacionales de la NASA se desarrollaron para ayudar a explorar el espacio, pero ahora la...
TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...
Muchas gracias mouse por compartir el codigo, me ha sido de gran ayuda para aprender a realizar el juego. Saludos desde Mexico y sigue asi, buen trabajo
Muchas gracias mi amigo! a un día de entregar el trabajo creo qe me ayudó bastante 🙂 sino es qe en su totalidad.
Muchisimas gracias!
me alegro que te sea de utilidad 🙂
Hola Mouse, sos grandioso!!, la verdad que compartir tu saber es algo inusual, ya que todos quieren paga por esto… te agradezco nuevamente!!!
Muchisimas gracias me sirvio bastante ,aprender el juego .Saludos de Perú.Eres excelente profe.
Una pregunta y si lo quisiera hacer en Jcreator que me recomendarías, o como podría empezar, si me pudieras ayudar, gracias.
Hola, primero que nada gracias por la pagina es una gran pagina de gran ayuda muchas felicidades, pero quisiera que me dijeras donde puedo obtener el codigo fuente del puzzle, la verdad no lo encontre y me interesa mucho, espero tu respuesta y gracias 🙂
Como aumento mas niveles me ayudarias mucho de antemano gracias