Java amb BlueJ  

Mòdul 8 
Tornar presentació tema
  Pràctica 1 Pràctica 2 Pràctica 3 Pràctica 4 Pràctica 5 Pràctica 6 Pràctica 6  
     

Ei, ei! La introducció a aquest mòdul no te la pots saltar! Hi expliquem en què consisteix el projecte què faràs a les pràctiques...

 
     
  El Joc de la Vida  
     
  En aquest mòdul posaràs en funcionament tot el que ja saps, i podràs construir tota una aplicació completa: el Joc de la Vida.  
     
  Una mica d'història  
     
 

Al número d'octubre de Scientific American de 1970, a la secció "Mathematical games", Martin Gardner hi exposava, per primera vegada, una descripció del joc "Life" (el "Joc de la Vida"), que havia estat creat el mateix any pel matemàtic britànic John Horton Conway, (Liverpool, 1937).

Aquest joc tingué un exit enorme i instantani i el nom de Conway esdevingué ràpidament popular. Sovint s'ha arribat a dir que, des de 1970, ha estat dedicat més temps de computació al Joc de la Vida que a qualsevol altra activitat. El mateix Gardner va escriure que:

"The game made Conway instantly famous, but it also opened up a whole new field of mathematical research, the field of cellular automata."
 
     
  El joc i les seves regles  
     
 

El Joc de la Vida és un joc per a zero jugadors (!), cosa que vol dir que l'evolució està completament determinada per l'estat inicial i les regles del joc, sense que calgui cap intervenció d'un jugador humà, una vegada s'ha iniciat el procés.

El Joc de la Vida es juga en una quadrícula (el món), en la qual, a cadascuna de les seves cel·les, hi ha un ésser que pot ser viu o mort. L'ésser de cada cel·la té vuit éssers veïns que són els que ocupen les cel·les adjacents a la cel·la considerada,

Un ésser (groc) i els seus vuit veïns (vermells)

i el món evoluciona en estats consecutius (passos) de manera que l'estat (viu o mort) de tots els éssers en un cert moment determinen l'estat que tindran en l'estat següent, després d'un pas, a partir d'aquestes dues regles:

  1. Un ésser mort que tingui, exactament, tres veïns vius, passa a ser un ésser viu.

  2. Un ésser viu amb 2 o 3 veins vius roman viu; en cas contrari (cap o un veí viu o 4 o més veïns vius) mor per aïllament o per superpoblació.
 
     
  A jugar!  
     
  Aquí sota hi tens un applet que permet veure el Joc de la Vida en funcionament:  
     
 
 
     
  Pots posar i treure éssers del món tot fent clic amb el ratolí a la posició que els vulguis...  
     
 
Dóna vida a un ésser amb un clic del ratolí
 
     
  Més informació  
     
  Moltes configuracions inicials d'éssers no sobreviuen més de tres o quatre passos, en canvi, d'altres, porten a evolucions molt vistoses i, encara, n'hi ha d'altres que són estables o bé cícliques. Pots provar amb algunes d'aquestes:  
     
 
 
     
  Hi ha un munt de pàgines a Internet sobre el Joc de la Vida., algunes amb propostes de configuracions inicials ben interessants; aquí en tens una selecció:
 
     
   
     
  La feina a fer  
     
 

Ara que ja saps de què va, la feina a fer en aquest mòdul és, precisament, fer una aplicació que jugui el Joc de la Vida. Allò que et proposem fer tindrà un aspecte molt semblant a l'applet de més amunt. Però, amb inventiva, pots aconseguir donar-li molta més qualitat i fer que treballi com els applets dels enllaços d'aquí sobre.

La feina a cada pràctica serà aquesta:

 
     
Pràctica 1 Planificar, planificar, planificar...  
     
 

La primera pràctica està dedicada a descriure com es pot planificar, just abans d'escriure codi, una aplicació Java i, en particular, quina és la planificació per a l'aplicació del Joc de la Vida.

 
     
Pràctica 2
La GUI (Graphics User Interface) (I)  
     
 

En aquesta pràctica començaràs la construcció de la GUI ("Graphics User Interface", és a dir, allò que l'usuari veu a la pantalla de la màquina i que li serveix per interactuar amb l'aplicació.

 
     
Pràctica 2
La GUI (Graphics User Interface) (II)  
     
 

En aquesta pràctica et dedicaràs a posar i fer actius els botons de comanament del Joc de la Vida i acabar, per tant la GUI de l'aplicació.

 
     
Pràctica 2
El món i els éssers del món  
     
  En aquesta pràctica iniciaràs el muntatge de les tripes del Joc de la Vida: les classes que, tot interactuant amb la GUI, en comanen el funcionament.  
     
Pràctica 2
La Vida al Món  
     
  Finalment, és en aquesta pràctica en la qual, al final, el Joc ja es juga... Les classes i mètodes ja quedaran complets i, almenys pas a pas, ja podràs veure l'evolució dels éssers en el món del Joc de la Vida.  
 
 
Pràctica 2 Fils (Threads). El procés continu  
     
  Ara es tracta que el Joc de la Vida es mogui sol: per aconseguir-ho, cal programar el procés de passos successius automàtics com un fil (thread) independent: aquí aprendràs, doncs, les bases per fer aplicacions amb fils (threads) independents.  
     
Pràctica 6 Fora de BlueJ   
     
  Aquesta pràctica final està dedicada a aconseguir que l'aplicació del Joc de la Vida es pugui executar com a aplicació independent de l'entorn (o de qualsevol altre entorn o IDE) i, també, com a applet en una pàgina web.  
     
  Som-hi!