Fratellis10
고수
Bonsoir tout le monde,
Après avoir pas mal codé en C, C++ j'ai décidé de me mettre en Java afin de me préparer pour mes études supérieures (ipl).
Histoire de revoir les bases du Java (conditions, boucles,...)
J'ai décidé de programmer un petit jeu des allumettes.
SI vous voyez, genre celui au fort boyard dont le but est de laisser l'adversaire tirer la dernière allumette. Enfin voici mon code, tout marche sauf lorsque je veux recommencer une partie, il me semble que c'est un problème du aux initialisations des variables mais je saisis pas trop: enfin, un code vaut mieux qu'un long discours donc:
>>> j'avoue mon code peut parraitre bizarre surtout hors de la boucle à la fin mais ce sont des contraintes que je me suis imposé afin de développer ma logique (un simple X a perdu au lieu de gagné par exemple
)
Après avoir pas mal codé en C, C++ j'ai décidé de me mettre en Java afin de me préparer pour mes études supérieures (ipl).
Histoire de revoir les bases du Java (conditions, boucles,...)
J'ai décidé de programmer un petit jeu des allumettes.
SI vous voyez, genre celui au fort boyard dont le but est de laisser l'adversaire tirer la dernière allumette. Enfin voici mon code, tout marche sauf lorsque je veux recommencer une partie, il me semble que c'est un problème du aux initialisations des variables mais je saisis pas trop: enfin, un code vaut mieux qu'un long discours donc:
PHP:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int nbreInitialallumettes = 20; // Debut d'initialisation des variables
int nbreAllumettes = 0;
int determinerJoueur = 0;
char reponse = ' ';
String joueur = new String(); // Fin d'initialisation des variables
System.out.println("Le nombre initial d'allumettes est de "+ nbreInitialallumettes +"!");
System.out.println("Le but du jeu est tout simple, vous devez enlever 1, 2 ou 3 allumettes par tour!");
System.out.println("Le joueur prenant la dernière allumette perdra la partie!");
System.out.println("--------------------------------------------------------------------------------");
do{ // Tant que l'utilisateur envoie le char 'O', on exécute cette boucle
do{ // Tant que le nbre d'allumettes est > que O on exécute cette boucle
if (determinerJoueur % 2 == 0 || determinerJoueur == 0) // Permet de switcher les joueurs
joueur = "Joueur 1";
else
joueur = "Joueur 2";
determinerJoueur++;
System.out.println(joueur+" combien d'allumettes souhaitez vous retirer?");
Scanner sc = new Scanner(System.in);
int nbreaenlever = sc.nextInt();
if (nbreaenlever > 3 || nbreaenlever < 1)
{
nbreaenlever = 0;
System.out.println("Impossible d'éffectuer cette opération (le nombre d'allumettes à enlever est erroné)");
System.out.println(joueur+" passe son tour!");
}
if (determinerJoueur == 1) // L'incrementation a déjà eu lieu ci-dessus donc la variable vaut 1 au départ
{
nbreAllumettes = nbreInitialallumettes - nbreaenlever;
}
if (determinerJoueur > 1)
{
nbreAllumettes = nbreAllumettes - nbreaenlever;
}
System.out.println("Il reste donc "+nbreAllumettes+" allumettes!");
System.out.println("--------------------------------------------");
}while(nbreAllumettes > 0);
if (joueur == "Joueur 1" )
joueur = "Joueur 2";
else
joueur = "Joueur 1";
System.out.println(joueur+" a gagné la partie!");
System.out.println("--------------------------");
System.out.println("Voulez vous rejouer? (O/N)");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
reponse = str.charAt(0);
}while(reponse == 'O');
System.out.println("Au revoir!");
}
}