IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

probleme de jeu question reponse '2'


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Par défaut probleme de jeu question reponse '2'
    Bonjour,
    je suis en train de concevoir un jeu de question réponse, et là je suis au stade d'alimentation des catégories avec des questions je fais tout comme il faut , et quand je consulte mes catégories ça me mets la derniere catégorie dupliqué au nombre de catégories que j'ai saisie auparavant, après je sauvegarde je quitte le jeu et quand j le redémarre je consulte mes catégories et là ça garde bien le nom de la catégories mais les questions et réponse saisies ça m'affiche null à la place.
    je vous mets le code ci dessous merci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    import java.io.Serializable;
     
     
     
    public class Questrep implements Serializable
    {
    	static String question;//question posé
    	static String reponse;//bonne réponse
    	static String rep1;//réponse erroné
    	static String rep2;
    	static String rep3;
    	static String rep4;
    	static int level;//niveau de difficulté d'une question 1 pour question simple et 2 pour question difficile
     
    	public Questrep (String quest,String rep,String rep1,String rep2,String rep3,String rep4,int lev)//constructeur de la classe Questrep
    	{
    		Questrep.question=quest;
    		Questrep.reponse=rep;
    		Questrep.rep1=rep1;
    		Questrep.rep2=rep2;
    		Questrep.rep3=rep3;
    		Questrep.rep4=rep4;
    		Questrep.level=lev;
     
    	}
    	public void afficher_questrep()
    	{
    		System.out.println("la question est:" +this.question);
    		System.out.println("la bonne réponse est:" +this.reponse);
    		System.out.println("la premiere mauvaise réponse est:"+this.rep1);
    		System.out.println("la deuxieme mauvaise réponse est:"+this.rep2);
    		System.out.println("la troisieme mauvaise réponse est:"+this.rep3);
    		System.out.println("la quatrieme mauvaise réponse est:"+this.rep4);
    		System.out.println("la cinquieme mauvaise réponse est:"+this.level);
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    import java.io.Serializable;
    import java.util.Enumeration;
    import java.util.Vector;
     
     
    public class Categorie implements  Serializable
    {
    	String nom_Categ; //le type de la catégorie
    	public Vector<Questrep> v; //on stockera nos questions réponses dans une classe Vector
    	int nb_quest_rep; //le nombre des questions réponses dans la catégorie
     
     
     
     
    	public void initialise() //initialise le Vector
    	{
    		v= new Vector<Questrep> ();
    	}
    	public boolean ajouter(Questrep quest)throws Exception//ajoute des questions réponses à la catégorie
    	{
    		if (v.add(quest))//retourne true si l'ajout s'est bien déroulé
    		return true;
    		else//retourne false sinon
    		return false;
    	}
    	public Categorie(String nom)//constructeur de categorie
    	{
    		this.nom_Categ=nom;
     
    	}
     
    	public boolean supprimer(Questrep quest)//ajoute des questions réponses à la catégorie
    	{
    		if (v.remove(quest))//retourne true si la suppression s'est bien déroulé
    		return true;
    		else//retourne false sinon
    		return false;
    	}
     
    	public void afficher_categ() 
    	{
    		System.out.println("le nom de la catégorie est:" + this.nom_Categ);
    		for(int i=0;i<v.size();i++)
    		{
    			((Questrep) v.elementAt(i)).afficher_questrep();
    		}
     
     
    	}
     
     
     
     
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    import java.util.*;
    import java.io.*;
     
     
    public class Listecateg implements Serializable
    {
    	public static  Vector<Categorie> v;
    	static int nb_categ=0;//nombre de categorie dans la liste
     
     
     
     
     
    	public static  void initialiser() //initialise le Vector
    	{
    		v= new Vector<Categorie> ();
    	}
     
     
    	public static  boolean ajouter_categ(Categorie catego)throws Exception//ajoute une categorie à la collection
    	{
     
    		 if(v.add(catego))//retourne true si l'ajout s'est bien déroulé
    		 	{
    				System.out.print("l'ajout s'est bien deroulé\n");
    				nb_categ++;
    				return true;
     
    		 	}
    		 else 
    			{
    				System.out.print("l'ajout n'est pas effectué\n");
    				return false;
    			}
     
    	}
     
    	public boolean supprimer_categ(Categorie categ)//supprimer une categorie à la collection
    	{
    		if (v.remove(categ))//retourne true si la suppression s'est bien déroulé
    			return true;
    			else//retourne false sinon
    			return false;
    	}
     
    	public static  void afficher_list()
    	{
     
    		for(int i=0;i<v.size();i++)
    		{
    			((Categorie) v.elementAt(i)).afficher_categ();
    		}
    	}
     
    	public static  void enregistrer_categ(String nom_fichier)throws Exception 
    	{
     
    		ObjectOutputStream oos;
            FileOutputStream fos;
            try 
            {
            	fos = new FileOutputStream(nom_fichier);
                oos = new ObjectOutputStream(fos);
                oos.writeObject(v);
                oos.close();
     
            }
            catch (IOException e) 
            {
                e.printStackTrace();	 
            }
    	}
     
    	public static void charger(String nom_fichier) throws Exception
    	{
     
    		ObjectInputStream ois;
    		FileInputStream fis;
    		try 
    		{
    			fis = new FileInputStream(nom_fichier);
    			ois = new ObjectInputStream(fis);
    			v=(Vector<Categorie>) ois.readObject();
    			afficher_list();
    			ois.close();
    		}
    		catch (ClassNotFoundException e) 
    		{
                e.printStackTrace();	 
    		}
    		catch (IOException e)
    		{
    			e.printStackTrace();	 
    		}
    	}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    import java.util.Vector;
     
     
    public class Lejeu 
    {
     
     
     
     
    	public static void main(String [] args) throws Exception
    		{
     
     
    			System.out.println("*********************************************************************************");
    			System.out.println("                    Bonjour et bienvenue dans le jeu                           ");                           
    			System.out.println("*********************************************************************************");
    			String pseudo = null;//pseudo admin
    			String pass = null;//pass admin
    			int a = 1;
    			do
    				{
    					System.out.println("veuillez choisir :");
    					System.out.println("1 ==> Administrateur");
    					System.out.println("2 ==> Joueur");
    					System.out.println("3 ==> Quitter");
    					int ch=Lire.i();
    					switch(ch)
    					{
    						//Administrateur
    						case 1: System.out.println("veuillez entrer votre pseudo:");
    								pseudo=Lire.S();
    							    System.out.println("veuillez entrer votre mot de passe:");
    							    pass=Lire.S();
    							    if(pseudo.equals("admin") && pass.equals("admin"))//si pseudo et pass sont bons authentification
    									{
    							    	int ch1;
    							    	do
    							    	{
    										System.out.println("bienvenue M. l'Administrateur");
    										System.out.println("1 ==> Créer un ensemble de catégorie");
    										System.out.println("2 ==> Ajouter une catégorie");
    										System.out.println("3 ==> Supprimer une catégorie");
    										System.out.println("4 ==> Consulter les catégories");
    										System.out.println("5 ==> Sauvegarder");
    										System.out.println("6 ==> Quitter");
    										ch1=Lire.i();
    										if(ch1==1)
    										{
    											creer();
     
    										}
    										if(ch1==2)//Ajouter une catégrie
     
    										{
    											char repo;//la réponse au fait si on veut ajouter une autre catégorie
    											do
    											{
    												ajouter();
    												System.out.println("voulez vous ajouter une autre catégorie ?");
    												repo=Lire.c();
     
    											}
    											while(repo=='o');
    											System.out.println("vos catégorie sont:");
    											Listecateg.enregistrer_categ("soufiane.ser");
     
     
     
    										}
    										if(ch1==3)//Supprimer une catégrie
    										{
     
    										}
    										if(ch1==4)//consulter, charger
    										{
    											charger();
    										}
    										if(ch1==5)//sauvegarder
    										{
    											enregistrer();
    										}
    										if(ch1==6)
    										{
    											System.out.println("à bientot");
    											break;
    										}
    							    	}
    							    	while(ch1!=6);
    									}
    							    else
    									{
    										a=0;//variable servant à reboucler en cas d'echec d'identification
    										System.out.println("echec");
    									}
     
    						//Joueur
    						//case 2: System.out.println("veuillez entrer votre pseudo");
    								//String pseudo_j=Lire.S();
     
    					}
     
     
    				}
    			while(a==0);
     
    		}
    	public static void creer()
    	{
    		Listecateg.initialiser();
    	}
    	public static void ajouter() throws Exception
    	{
    		System.out.println("entrer le nom de votre catégorie");
    		String categ=Lire.S();
    		Categorie C=new Categorie(categ);
    		C.initialise();
    		int compt=0;
    		do//ajouter des questions réponses à la categorie
    		{
    			System.out.println("entrer votre question");
    			String quest=Lire.S();
    			System.out.println("entrer votre bonne réponse");
    			String rep=Lire.S();
    			System.out.println("entrer votre premiere mauvaise réponse");
    			String rep1=Lire.S();
    			System.out.println("entrer votre deuxieme mauvaise réponse");
    			String rep2=Lire.S();
    			System.out.println("entrer votre troisieme mauvaise réponse");
    			String rep3=Lire.S();
    			System.out.println("entrer votre quatrieme mauvaise réponse");
    			String rep4=Lire.S();
    			System.out.println("entrer le level de la question");//1 facile 2 difficile
    			int level=Lire.i();
    			Questrep qr=new Questrep(quest,rep,rep1,rep2,rep3,rep4,level);
    			C.ajouter(qr);
    			compt++;
    		}
    		while (compt<2);
    		Listecateg.ajouter_categ(C);
    	}
     
    	public static void enregistrer() throws Exception
    	{
    		Listecateg.enregistrer_categ("soufiane.ser");
    	}
    	public static void charger() throws Exception
    	{
    		Listecateg.charger("soufiane.ser");
    	}
     
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
     
    import java.io.*;
    public class Lire
    {
    public static String S() // Lire un String
    {
    String tmp = "";
    char C='\0';
    try {
             while ((C=(char) System.in.read()) !='\n')
             {
              if (C != '\r')  tmp = tmp+C;
     
             }
       }
     catch (IOException e)
            {
              System.out.println("Erreur de frappe");
              System.exit(0);
            }
     return tmp;
    } // fin de S()
     
     public static byte b()  // Lire un entier byte
     {
      	 byte x=0;
     	 	try {
    			 x=Byte.parseByte(S());
    	  	 	}
     	 	catch (NumberFormatException e) {
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public static short s()  // Lire un entier short
     {
       	 short x=0;
     	 	try {
    			 x=Short.parseShort(S());
    	  	 	}
     	 	catch (NumberFormatException e) {
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public static int i()  // Lire un entier
     {
     	 int x=0;
     	 	try {
    			 x=Integer.parseInt(S());
      	 	}
     	 	catch (NumberFormatException e) {
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public static long l()  // Lire un entier long
     {
     	 long x=0;
     	 	try {
    			 x=Long.parseLong(S());
      	 	}
     	 	catch (NumberFormatException e) {
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public  static double d()  // Lire un double
     {
      	double x=0.0;
     	 	try {
    	 		x=Double.valueOf(S()).doubleValue();
     	 	}
     	 	catch (NumberFormatException e) {
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public  static float f()  // Lire un float
     {
       float x=0.0f;
     	try {
     		x=Float.valueOf(S()).floatValue();
        	}
     	catch (NumberFormatException e) 
     	{
              System.out.println("Format numérique incorrect");
              System.exit(0);
        }	
    	  return x ;
     }
     
     public  static char c()  // Lire un caractere
     {
      String tmp=S();
      if (tmp.length()==0)
    	  return '\n';
      else 
    		{
    		return tmp.charAt(0);
    		}
     }
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Par défaut
    en fait j'ai plusieurs questions réponses parce que chaque catégorie en contient plusieurs, par exemple une catégorie qui s'appèlerait SPORT dedans y aura plusieurs questions réponses (dans le sujet donné par notre prof. c'est marqué que chaque catégorie doit contenir 10 questions réponses).

    Et pour la question de static je sais pas comment faire autrement j'ai déjà essayé de tout mettre en non static mais ça marche pas ça génere des erreurs de partout.

    merci

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Par défaut
    bonjour,
    je voudrais savoir c'est quoi qui vous empêche de m'aider s'il ya qlq choz de pas trop clair vous me le dites et je vous fournis les réponses nécessaires.
    sans votre aide je pense pas pouvoir finir mon projet dans les temps.
    merci

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Le vrai problème c'est que la question est trop vague, et que peu de personnes ont le temps et/ou l'envie de tout lire et de débugger à ta place.

    Pour moi il y a trop de code, et je n'ai pas le temps de comprendre la logique mise en place. De plus, un certain nombre de règles de base ne sont pas respectées (l'indentation, les "throws Exception", les static partout) ce qui implique qu'il y a trop de concepts à revoir pour faire ça sur un forum...

    désolé... mais imo tu as plus besoin d'un prof que d'un forum

    sans rancune

Discussions similaires

  1. question reponse vb
    Par gentelmand dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 04/05/2007, 09h51
  2. probleme de jeu de cadre et de lien
    Par personne64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/10/2006, 21h59
  3. Probleme coherence sur les reponses.
    Par magnus2005 dans le forum Hibernate
    Réponses: 7
    Dernier message: 18/07/2006, 17h33
  4. [Ajax] probleme pour parser une reponse
    Par zola dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/05/2006, 17h35
  5. [langage] pb de question reponse
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 29/11/2002, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo