Bonjour,
Je débute en développement et j’ai choisi de me former sur Dart et Flutter.
Je me suis lancer comme défis de me faire un petit jeu pierre feuille ciseau pour mettre en application ce que j’ai appris jusque ici.
Cependant je ne sais pas pourquoi j’ai un problème dans mon code avec un do while. Ce que j’aimerais c’est quand j’appuis entre 1 et 3 le jeu continue et quand j’appuis sur 4 le jeu s’arrête. Mais quand j’appuis sur 4 que j’ai nommé choixQuitter la boucle continue. J’ai regardé le cours plein de fois même d’autre tuto je ne comprend pas.
Si un gentil personnage passe par là et veut bien prendre le temps de me corriger et m’expliquer ce serait super gentil voici le code :
import 'dart:io';
import 'dart:math';
void main() {
int choixUtilisateur = 0;
final choixQuitter = 4;
do {
do {
print("Faites votre choix entre 1 et 3");
print("1 - Pierre");
print("2 - Feuille");
print("3 - Ciseau");
print("4 - Quitter");
int? choixUtilisateur = int.parse(stdin.readLineSync()!);
const pierre = 1;
const feuille = 2;
const ciseau = 3;
int newScore = 0;
int score = 0;
// RANDOM COMPUTER
//pas oublier import 'dart:math'; pour utiliser la fonction Random
// Créer une liste contenant les trois options possibles
// Générer aléatoirement le choix de l'ordinateur en utilisant la fonction nextInt de l'objet Random
List<String> options = ["pierre", "feuille", "ciseau"];
Random random = new Random();
int computerIndex = random.nextInt(3);
String computerChoice = options[computerIndex];
// Condition de victoire défaite
if (choixUtilisateur == pierre && computerChoice == "ciseau") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score + 1;
print("votre score est $newScore");
} else if (choixUtilisateur == ciseau && computerChoice == "pierre") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score - 1;
print("votre score est $newScore");
} else if (choixUtilisateur == pierre && computerChoice == "pierre") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score;
print("votre score est $newScore");
} else if (choixUtilisateur == ciseau && computerChoice == "ciseau") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score;
print("votre score est $newScore");
} else if (choixUtilisateur == feuille && computerChoice == "pierre") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score + 1;
print("votre score est $newScore");
} else if (choixUtilisateur == pierre && computerChoice == "feuille") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score - 1;
print("votre score est $newScore");
} else if (choixUtilisateur == feuille && computerChoice == "feuille") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score;
print("votre score est $newScore");
} else if (choixUtilisateur == ciseau && computerChoice == "feuille") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score + 1;
print("votre score est $newScore");
} else if (choixUtilisateur == feuille && computerChoice == "ciseau") {
print("Vous avez choisi $choixUtilisateur");
print("Computer à choisi $computerChoice");
newScore = score - 1;
print("votre score est $newScore");
}
if (choixUtilisateur < 1 || choixUtilisateur > 4) {
print("Saisie incorrect");
}
if (choixUtilisateur == choixQuitter) {
print("A+ sous le bus");
}
} while (choixUtilisateur < 1 || choixUtilisateur > 3);
} while (choixUtilisateur != choixQuitter);
}
PS : je sais que la partie des condition victoire et défaite pourrait être simplifié, mais j’y bosserais plus tard quand j’aurais reglé mon probleme de boucle ^^