EDIT :
[Problème 1]2 boucles et pas de reboot -> solution de joel.drigo (poste 2 et plus précisément poste 4)
[Problème 2]Compréhension des getteur/setteur, et de "this" -> solution par Oussapik (poste 6 et plus précisément poste 8)
[Problème 3]Erreur dans la déclaration de variable "super" -> solution par Oussapik (poste 10)
[Problème 4]Utiliser l'héritage quand ce n'est pas nécessaire, quel problème ? est-ce une erreur ? -> solution par Oussapik (poste 12)
[Problème 5]Question de mise en forme du programme (utilisation de l'héritage ou non) -> solution par Carhiboux (poste 14)
[Problème 6]Incompréhension de certains termes "Affichage""Modèle de classe""Implémenter" ->

Bonjour à tous !

Je suis tout nouveau tout neuf dans le monde du JAVA, et je dois dire que ça fait 15 jours que j'ai commencé.
Avec un ami on c'est lancé un petit défis de faire un jeu textuel type D&D, mais en version ultra basic pour neuneu (un peu comme notre niveau en fait !).

On a déjà écrit des petits bouts de code, mais voilà ça fait 1 jour et demi qu'on traîne sur un problème, surement très stupide.

WARNING : Je ne réponds pas coupable du saignement de vos yeux à cause de code dégeux/horrible/vulgaire/moche. Désolé beginner inside....

En gros voilà notre soucis en résumé :
une boucle "rencontre" s'ouvre.
3 possibilités : info perso(1), infos monstre(2), attaquer(3).
(1)et(2) ne posent pas de soucis, (3) par contre...
une fois (3) sélectionner :

Appel d'un "event" nommé "combat", nouvelle boucle donc.
Le joueur attaque le monstre, le monstre attaque le joueur, premier tour terminé, point de vie affiché tout va bien.
une fois de plus, 3 possibilités :
(1) info perso; (2) infos monstre; (3)continuer attaque
(1)et(2) toujours OK
Si on sélectionne (3), la boucle ne reboot pas sur la première, mais laisse le "script" s’enchaîner, et comme le script prend fin ici pour le moment, on arrive après la sélection à la phrase "tchao"(fin du programme).

Je voudrais donc savoir si vous pourriez m'indiquer des pistes à suivre pour résoudre ce problème ?

Code Main : 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
do{//boucle rencontre
		System.out.println("Que voulez-vous faire ?");
		System.out.println("1 - Obtenir des informations sur vous");
		System.out.println("2 - Obtenir des informations sur le monstre");
		System.out.println("3 - Attaquer");
		mode=sc.nextLine().charAt(0);
			if(mode!='1' && mode!='2' && mode!='3')
				System.out.println("Je ne pense pas que ceci soit le meilleur choix à faire...");
			if(mode=='1'){			
				j2.dire();
				System.out.println(j2.dire());
				System.out.println("j'ai "+j2.lif+" de vie");
			}
			else if(mode=='2'){
				System.out.println(m1.dire());
				System.out.println("j'ai "+m1.lif+" de vie");
			}
			else if(mode=='3'){
				E.combat(j2.forc, m1.forc, j2.def, m1.def, j2.lif, m1.lif);
			}
	}while( mode!='1' | mode!='2' | mode!='3');

Code event : 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
public void combat(int forJ, int forM, int defJ, int defM, int lifeJ, int lifeM){
	System.out.println("Un monstre apparait");
do{//boucle combat
   			if(forJ > defM){
   				System.out.println("touché !");
   				lifeM =lifeM-1;
   				System.out.println("En plein dans le mille, ça vie diminue, plus que : "+lifeM+" points de vie");
   			}
   			else{
   				System.out.println("vous ratez l'attaque");
 
 
   			}
   			if(forM>defJ){
   				System.out.println("aie");
   				lifeJ =lifeJ-1;
   				System.out.println("En plein dans le mille, votre vie diminue, plus que : "+lifeJ+" points de vie");
   			}
   			else{
   				System.out.println("la chance, vous esquivez");
   			}
 
			System.out.println("La vie du monstre est de "+lifeM);
			System.out.println("Votre vie est de "+lifeJ);
			do{
				System.out.println("Un échange de fait, que faire maintenant :");
				System.out.println("1 - Savoir la vie du monstre");
				System.out.println("2 - Savoir votre vie");
				System.out.println("3 - Attaquez encore !");
 
				Scanner sc=new Scanner(System.in);
				System.out.println("Parlez !");
				rep=sc.nextLine().charAt(0);
		if(rep!='1' && rep!='2' && rep!='3')
			System.out.println("Pas las bonne touche");
		if(rep=='1'){
			System.out.println("La vie du monstre est de "+lifeM);
		}
		else if(rep=='2'){
			System.out.println("Votre vie est de "+lifeJ);
		}
		else if(rep=='3'){
			System.out.println("Le combat continu !");
		}
			}while(rep!='1' && rep!='2' && rep!='3');	
 
   		}while(lifeJ <= 0 || lifeM <= 0);
	      		System.out.println("bravo");

Merci par avance à vous tous !

Mini (petit amateur de JAVA)