Pourriez-vous m'aider dans mon ébauche du jeu de la vie deConway

myrmounet Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,





Bonjour à tous et à toutes, je me suis penché sur une version plutôt simpliste du Jeu de La Vie de Conway, et ceci en le faisant plutôt basiquement.
La plupart des versions de ce jeu que j'ai trouvé sont bien plus complexes que le code que j'ai tapé.
Donc je me demandais si vous pouviez éclairée ma lanterne concernant mon code.
voilà:


import javax.swing.*;
public class GameofLife {
  static int NbLig=10;
  static int NbCol =10;
  static boolean[][]tablo1 = new boolean[NbCol][NbLig];
  static boolean intermediaire[][]=new boolean[NbCol][NbLig];
  static String resultat="";
  static public int x=0;public static int y=0;
  public static int NbAutour;
 public static void lifeinit()
 {int ICol=0;
 int ILig=0;
  for (ILig=0;ILig<NbLig;ILig++) 
  for (ICol=0; ICol<NbCol;ICol++)
   tablo1[ICol][ILig]=Math.random()<=0.5;
 
 }
 static String makescreen()
 {int ICol;
 int ILig;
  String resultat = ""; 
 for (ILig=0; ILig<NbLig; ILig++)
 { for (ICol=0; ICol<NbCol; ICol++)
  
   if(tablo1[ICol][ILig])
    resultat += " O ";
   else resultat +=" X ";
 resultat =resultat+"\r\n";
 }
 return resultat;
 }
 public static int compte(int x, int y){
  int ILig=x;
  int ICol=y;
 for (ILig=ILig-1;ILig<=ILig+1;ILig++)
  {for (ICol=ICol-1;ICol<=ICol+1;ICol++)
   if (ILig>=0&&ILig<NbLig&&ICol>=0&&ICol<NbCol)
    if(tablo1[ICol][ILig])
     NbAutour ++;}
 NbAutour = NbAutour-1;
 return NbAutour;}
 public static void alivedead()
 {int Cb=0;
 int Lig;
 int Col;
 for (Lig=0;Lig<NbLig;Lig++)
  {for (Col=0;Col<NbCol;Col++)
   {Cb=compte(Col, Lig);
   if (Cb==3)
    intermediaire[Col][Lig]=true;
   if (Cb <=2&&Cb>=4)
    intermediaire[Col][Lig]=false;
}}}
 public static void main(String[]args)
 {int Col; int Lig;
  lifeinit();
  JOptionPane.showMessageDialog(null, makescreen());
  int iteration=0;
  for (iteration =0;iteration <=4; iteration ++)
  {alivedead();

  for (Lig=0;Lig<NbLig;Lig++)
   {for (Col=0;Col<NbCol;Col++)
    tablo1[Col][Lig]=intermediaire[Col][Lig];}
  JOptionPane.showMessageDialog(null, makescreen());
 }

 }}


Merci pour toutes indications salvatrices pour le faire tourner.
A voir également:
  • Pourriez-vous m'aider dans mon ébauche du jeu de la vie deConway
  • 94 jeu - Télécharger - Puzzle & Réflexion
  • 94 degrés jeu - Télécharger - Divers Jeux
  • Jeu du pendu - Télécharger - Vie quotidienne
  • Jeu zuma - Télécharger - Jeux vidéo
  • Logo jeu - Télécharger - Jeux vidéo

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

"La plupart des versions de ce jeu que j'ai trouvé sont bien plus complexes que le code que j'ai tapé."
Peut-être que les autres versions fonctionnaient, ce n'est pas le cas de la tienne, ou alors tu n'as pas compris l'intérêt de l'étude.

Le premier truc qui saute aux jeux, c'est que tu affiches tes données une seule fois et avec un showMessageDialog ! Pour un programme qui doit s'animer comme une vidéo pour voir ce qu'il se passe c'est particulièrement gênant de devoir appuyer sur OK à chaque fois...

Voici ce que l'on devrait pouvoir reproduire avec ton programme :
https://www.youtube.com/watch?v=XcuBvj0pw-E
0