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 -
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à:
Merci pour toutes indications salvatrices pour le faire tourner.
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
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
"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