Super Mario Bros en Java

Juego de Super Mario Bros con 3 niveles en los que hay que recolectar todas las monedas. Programado en Java hace unos añitos (2011), antes incluso de entrar en la universidad. Es por ello que el código del juego contiene algunas inconsistencias, por dicho motivo no lo pongo a disposición de todos. Mas si aún así a alguien le interesa, no tiene más que pedirlo. El enlace de descarga se encuentra justo debajo del vídeo. Está compuesto de unas 20 clases aproximadamente.



Actualización: Visto el éxito que ha tenido el juego, he puesto el código a vuestra disposición en un repositorio en GitHub con un proyecto Java de Eclipse y con algunas refactorizaciones para organizar un poco el código, ya que la organización del código fuente original deja un poco que desear...



47 comentarios :

  1. :O genial, yo quiero... estoy aprendiendo java, pero creo que esto aun esta muy lejos de mi...xDD

    esta super, te felicito...

    PD: me pasas el juego ? :P

    ResponderEliminar
    Respuestas
    1. Como ya me lo han pedido un par de personas dejo el código y los recursos del juego en un enlace debajo del vídeo. :)

      Eliminar
  2. gracias por ayudar a que estudiantes aprendamos por medio de este blog!!
    felicidades por tu aporte a nuestra educacion.

    ResponderEliminar
  3. Hola!
    Primero muchas gracias por compartir tu trabajo.

    Cómo inicias el juego??

    Tengo instalado el Netbeans y JDK, entonces me gustaría aprender de tu trabajo.

    Creo que faltan un par de ficheros porque no encuentro el primer fichero que ejecutas desde consola para que se inicie. Tal vez me equivoco porque no se ve muy bien en el video :(

    Gracias

    ResponderEliminar
    Respuestas
    1. Hola!
      Primero perdón por el retraso en contestarte. No sé si lo habrás conseguido ejecutar ya, pero la clase principal es PlatformGame.

      Eliminar
    2. Hola!
      Primero perdón por el retraso en contestarte. No sé si lo habrás conseguido ejecutar ya, pero la clase principal es PlatformGame.

      Eliminar
  4. exelente!!!! gracias... por el codigo!!!

    ResponderEliminar
  5. Amigo muchas gracias por compartirlo :) programación para todos

    ResponderEliminar
  6. como le aogo para k me corra el juego xk no me detecta el pakete
    ya cree otro pero ni asi

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Amigo No Lo Tendra echo con hilos?
    PD: Si lo tienes con hilos Puedes compartirlo? Te lo agradeceria :)

    ResponderEliminar
  9. como le hago para k me corra el juego xk no me detecta el pakete
    tengo Netbeans IDE 7.1.2

    ResponderEliminar
    Respuestas
    1. He actualizado el post con un enlace a un repositorio en GitHub con el código dentro de un proyecto de Eclipse. No es de NetBeans el proyecto pero espero que te sirva igual.

      Eliminar
  10. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  11. me da error al compilarlo dice lo siguiente Error: no se ha encontrado o cargado la clase principal com.blogspot.programmingheroes.supermariojava.Main por favor necesito ayuda para poder entender el proyecto y poder avanzar con java te lo agradecería infinitamente comentario pensé que por la versión del eclipse y descargue eclipse índigo pero no fue haci.ha y exelente aporte porque he buscado mucho en Internet pero hay mucho pero poco que ayude gracias y te encargo porque me el error en eclipse.

    ResponderEliminar
    Respuestas
    1. La clase que contiene el metido Main es PlatformGame.

      Eliminar
  12. Como le hago para que corre el juego en mi Google Drive

    ResponderEliminar
    Respuestas
    1. ¿En Google Drive? ¿Dices de ponerlo como un applet en una página web?

      Eliminar
  13. Respuestas
    1. Dentro de la carpeta res/maps hay archivos de texto que contienen la información de cada uno de los mapas creados. Se supone que con modificar esos archivos modificarias los niveles ya creados.

      Eliminar
  14. Hey bro!
    Tu juego es genial.
    yo ando estudiando programación, pero eso esta muy complejo aun para mi.
    ya descargue tu codigo, como lo ejecuto?

    ResponderEliminar
    Respuestas
    1. El archivo Main.java es el que contiene el método main a ejecutar para iniciar el juego :)
      Espero que te sirva para aprender muchas cosas, saludos!

      Eliminar
  15. Tu trabajo esta genial man!
    Ya compile el programa, pero como lo ejecuto?

    ResponderEliminar
    Respuestas
    1. El archivo Main.java es el que contiene el método main a ejecutar para iniciar el juego :)

      Eliminar
  16. no puedo abrir en netbeans el código descargado ayúdame

    ResponderEliminar
  17. Donde se encuentra el archivo main?

    ResponderEliminar
  18. gracias por compartir este juego se te agradece pero me salen unos errores:
    at com.blogspot.programmingheroes.supermariojava.loaders.Map.act(Map.java:400)
    at com.blogspot.programmingheroes.supermariojava.Main.updateStage(Main.java:78)
    at com.blogspot.programmingheroes.supermariojava.Stage.run(Stage.java:347)
    at java.lang.Thread.run(Unknown Source)

    ResponderEliminar
  19. Muchas gracias por tu código! Pero una pregunta, por qué razón has nombrado a los métodos o constructores "public"?

    ResponderEliminar
    Respuestas
    1. De nada :) Para que se pueda hacer un new NombreObjeto() desde cualquier parte del código. Si fueran privados solo podrían hacerse news desde la misma clase y desde ningún otro archivo se podría acceder al constructor.

      Eliminar
  20. oye el juego se traba al momento que se ejecuta un brinco o intentas correr y brincar al mismo tiempo

    ResponderEliminar
    Respuestas
    1. Eso es debido al sonido. La forma de reproducir sonidos utilizada quizás no sea la mejor...

      Eliminar
  21. Amigo yo tengo una pregunta a este estilo de juego donde solo avanzas hacia adelante y hacia atras saltas y agachas, como se llama a ese estilo es que quisiera hacer un juego parecido donde se aplique el mismo mecanismo. Agradeceria tu rapida respuesta.

    ResponderEliminar
    Respuestas
    1. Hola Amauri,

      Es un juego de plataformas o de scroll lateral. El juego lo hice basándome en el siguiente libro: http://fivedots.coe.psu.ac.th/~ad/jg/ (concrétamente en el capítulo 12, "A Side Scroller").

      Espero que te sirva, un saludo amigo!

      Eliminar
  22. COMO LO ABRO EN NETBEANS ???

    ResponderEliminar
  23. de verdad esto se puede hacer con java Eclipse? yo lo estoy trabajndo pero no tiene interfaz grafica es puro codigo y la console

    ResponderEliminar
    Respuestas
    1. Sí que se puede :) Se pueda usar el código para crear ventanas, botones... se puede hacer de todo!! En definitiva, que sea Eclipse, NetBeans o cualquier otro IDE, no te limita en absoluto. Todo lo que se puede hacer con Java se puede hacer en cualquier IDE.

      Saludos!

      Eliminar
  24. Buenas, estoy comenzando un corso en java y tengo eclipse instalado, pero como hago para poderlo ejecutar

    ResponderEliminar
    Respuestas
    1. Hola Yerison, descárgate el proyecto desde https://github.com/ProgrammingHeroes/SuperMarioJava. Es un proyecto de Eclipse. Ábrelo y ejecútalo sin más :)

      Eliminar
  25. Gracias por compartir!!!
    lo voy a probar, ya me lo descargué. estoy aprendiendo a programar en Java, asi que no entenderé todo seguramente. pero se agradece!

    ResponderEliminar
  26. gracias por compartir el codigo yo soy un principiante que esta estudiando en la universidad y hay lineas que no entiendo y me sale un error en la clase brick en la linea 126 y busco en la api de java y no me aparece el metodo setfoor... ayudame con eso..

    ResponderEliminar
  27. Hola, soy nuevo en esto de programar, i no encuentro la manera de poder ejecutar el juego. Me podrías decir como ejecutarlo? Gracias.

    ResponderEliminar
    Respuestas
    1. Hola Rampalstinsky, la clase principal se llama Main.java. Abre el proyecto con con Eclipse y ejecuta esa clase :)
      ¡Saludos!

      Eliminar
  28. ME PODRIA PASAR EL CODIGO PORFAVOR

    ResponderEliminar