Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Proyectos / Rompecabezas [Código Fuente]

Rompecabezas [Código Fuente]

Autor jc mouse miércoles, abril 25, 2012

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.

Puzzle java

El proyecto está comentado, sin embargo no esta demás algunas aclaraciones.

  • Realizado en Netbeans 6.9
  • No utiliza ninguna librería externa

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

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

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! :)

También Te Podría Interesar

Gráfico de lineas con jfreechart

Gráfico de lineas con jfreechart

Los gráficos de líneas muestran una serie como un conjunto de puntos conectados mediante una línea. Los valores se repre...

Tablas virtuales en java (View)

Tablas virtuales en java (View)

Una Vista (View) es una Tabla Virtual cuyo contenido está definido por una consulta (SELECT), al igual que una tabla rea...

Crea un plugin WP con panel de administracion

Crea un plugin WP con panel de administracion

En este post crearemos un plugin para el CMS WordPress el cual comprende el plugin en si, un panel de administración y e...

Gráfico de columnas con iReport

Gráfico de columnas con iReport

El gráfico de columnas es uno  tipo de gráfico que nos permite representar fácilmente la cantidad de veces que ocurre un...

Crear un plugin wordpress “Banned Word”

Crear un plugin wordpress “Banned Word”

En este post, escribiremos un sencillo plugin para wordpress el cual consistirá en reemplazar palabras en los comentario...

Impresión de reportes

Impresión de reportes

Existen diferentes métodos par imprimir reportes hechos con JasperReport en aplicaciones hechas en java, en este post te...

8 comentarios en “Rompecabezas [Código Fuente]”

  1. Ebr dice:

    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

  2. Eduardo dice:

    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!

    1. Mouse dice:

      me alegro que te sea de utilidad 🙂

      1. Lucas Sola dice:

        Hola Mouse, sos grandioso!!, la verdad que compartir tu saber es algo inusual, ya que todos quieren paga por esto… te agradezco nuevamente!!!

  3. indira dice:

    Muchisimas gracias me sirvio bastante ,aprender el juego .Saludos de Perú.Eres excelente profe.

  4. Mario dice:

    Una pregunta y si lo quisiera hacer en Jcreator que me recomendarías, o como podría empezar, si me pudieras ayudar, gracias.

  5. Nely dice:

    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 🙂

  6. steveen io dice:

    Como aumento mas niveles me ayudarias mucho de antemano gracias

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

El espirógrafo es una herramienta para generar diseños geométricos conocidos como hipotrocoides (es la curva plana que d...

Pyodide es un proyecto experimental de Mozilla  que proporciona un intérprete de Python que se ejecuta completamente en...

PicarOS Diego es una distribución GNU/Linux basada en Debian enfocada principalmente en la educación dentro del aula rec...

Windows XP fue lanzado oficialmente el 25 de octubre de 2001, han pasado ya 17 años y 7 meses convirtiendo así a XP uno...

Android Bolivia

MAUS