gentoo linux, java, software libre y otras hierbas
Ago, 21 2008 - 4:49 pm

El Juego de la Vida [Java]

Se trata de una implementación chichi del famoso Juego de la Vida en Java, ya que Burnhack me ha picado con el gusanillo de la curiosidad ;) En fin… el programa simula un espacio de células que cumplen con las reglas básicas del juego, permite dibujar nuevos patrones, generar granjas aleatorias, y poner en marcha automática o manualmente. De paso me sirvió para explicarle a mis hermanos el porqué del emblema hacker :D

Puedo decir que me divertí mucho programando, y que a la vez me da pena no haber podido dedicarle más de tres días: el resultado es un programa que funciona bien cuando se ejecuta de manera normalita, pero con la opción de zoom hay problemas. Y aquí les doy un par de consejos: puesto que al principio el programa lo iba a hacer junto con Burnhack, utilicé una clase que él utilizaba llamada BufferedImage (para dibujar las figuras). Luego, cuando me dí cuenta de que no entendía ni mierda nada del código de mi amigo, decidí hacer la lógica desde cero; y aquí van los consejos:

  • Hacer comentarios es SUPREMAMENTE IMPORTANTE, sobre todo cuando se programa en grupo
  • Cuando hagas este tipo de proyectos es mejor que uses Canvas; yo caí en cuenta muy tarde y ya me da flojera arreglarlo

Por supuesto, el programa está disponible para que lo estudien, lo copien, lo regalen, etc. Espero le sirva a alguien. Les quedo debiendo la explicación porqué es algo largo ;)

Nota: los iconos los he tomado de Icojoy

Compilación y ejecución…

#compilación
javac Glider.java
#ejecución normal
java Glider
#ejecución con la característica zoom (umm, que mal programador soy :mrgreen: )
java Glider –zoom

Descargar código fuente

22 Comentarios | deja el tuyo

3 enlaces entrantes

19 Comentarios en “El Juego de la Vida [Java]”

  1. Brian Urban dice:

    RT: @casidiablo: El Juego de la Vida [Java] http://casidiablo.in/dd4D45

  2. Chile's quake was fifth largest on modern record http://bit.ly/cH3EPd (@sciam → @patriciopoblete)

¡Déjanos tu comentario!