CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

JAVSCOOL AIDE

lilima95
lilima95
Niveau 2
28 mars 2013 à 18:24:04

Salut pour mon programme d'isn j'aimerai creer un jeu du pendu avec un joueur ayant 10 parties l'ordinateur choisis un mot au prealable dans une liste predefinie et ensuite le joueur choisi ses lettre il y a donc un tableau pour le mot mais la il y a plusieur s bug sur javascool que je nesaurais trouver alors avis à tous les specialistes et personnes ayant l'amabilité de m'aider s'il vou plait !

VOICI LE PROGRAMME
import javax.swing. *;
void main(){
JOptionPane.showMessageDialog(getPane(), "Bienvenue ! \nBonne partie sur \"Le Pendu \" !" );

// On definit un pseudo pour chaque joueur.
String J1 = JOptionPane.showInputDialog(getPane(), "Rentrez votre pseudo",
"Joueur 1", JOptionPane.QUESTION_MESSAGE);

println("LE PENDU ");

// Les mots predefinis de la liste
String[] mots = {"algebre", "arithmetique","soleil",};

//Chix aleatoire de l'ordi dans la liste
int n = random(0,3);
println(mots[n]);

// Creation d'un tableau
int juste[] = new int[mot.length()];
juste[0] = 1; juste[juste.length - 1] = 1;

// le oueur dispose de 10 chances
for(int j = 0; j < 10; j--) {;

// Test si le mot est correct
int gagne = 1;
for(int i = 0; i < mot.length(); i++);
if(juste[i] == 0) gagne = 0;
if(gagne == 1) {;
JOptionPane.showMessageDialog(getPane(), "Bravo "+J1+", vous avez devine le mot !\nExecutez le programme a nouveau pour rejouer !");
return;
}
// Ecriture des lettres devinees
for(int i = 0; i < mot.length(); i++) {;
if(juste[i] == 1) System.out.print(mot.charAt(i));
else System.out.print("_");
}
System.out.println();
// Le Joueur2 rentre une lettre.
String reponse = JOptionPane.showInputDialog(getPane(), J2+", veuillez entrer une lettre", J2+", a votre tour.", JOptionPane.QUESTION_MESSAGE);
char c = reponse.charAt(0);
// On met a jour les lettres justes
for(int i = 0; i < mot.length(); i++)
if(mot.charAt(i) == c) juste[i] = 1;
}
JOptionPane.showMessageDialog(getPane(), "Dommage vous n'avez pas reussi a deviner le mot ");
}

dark_drow
dark_drow
Niveau 15
28 mars 2013 à 19:57:03

c'est quoi la question en fait ?
Tu balance un bout de programme illisible en disant qu'il y a des erreurs mais bon...

lilima95
lilima95
Niveau 2
28 mars 2013 à 20:13:12

merci beaucoup pomme carotte ! Donc je vais déclarer la
Variable mot et je verrais si ça fonctionne ;)

lilima95
lilima95
Niveau 2
28 mars 2013 à 20:39:30

Maintenant j'ai ca mais je ne comprends pas quelque chose le programme compile bien il y n'y a plus d'erreur sauf que maintenant des que je joue pour rentrer une lettre il me dit gagner sans meme que je rentre toutes les lettres du mot !!
import javax.swing. *;
void main(){
JOptionPane.showMessageDialog(getPane(), "Bienvenue ! \nBonne partie sur \"Le Pendu \" !" );

// On definit un pseudo pour chaque joueur.
String J1 = JOptionPane.showInputDialog(getPane(), "Rentrez votre pseudo",
"Joueur 1", JOptionPane.QUESTION_MESSAGE);

println("LE PENDU ");

// Champ lexical
String[] mots = {"algebre", "arithmetique","soleil"};
//choix aleatoire dans la liste
int n = random(0,3);
println(mots[n]);

String mot = readString();
// Creation d'un tableau
int juste[] = new int[mot.length()];
juste[0] = 1; juste[juste.length - 1] = 1;

// Boucle du jeu: Le joueur 1 dispose d'un nombre d'essais egal a deux fois la longueur du mot
for(int j = 0; j < 10; j++) {

// Test si le mot est correct
int gagne = 1;
for(int i = 0; i < mot.length(); i++)
if(juste[i] == 0) gagne = 0;
if(gagne == 1) {
JOptionPane.showMessageDialog(getPane(), "Bravo "+J1+", vous avez devine le mot !\nExecutez le programme a nouveau pour rejouer !");
return;
}
// Ecriture des lettres devinees

for(int i = 0; i < mot.length(); i++) {
if(juste[i] == 1) System.out.print(mot.charAt(i));
else System.out.print("_");
}
System.out.println();

// Le Joueur1 rentre une lettre.

String reponse = JOptionPane.showInputDialog(getPane(), J1+", veuillez entrer une lettre", JOptionPane.QUESTION_MESSAGE);
char c = reponse.charAt(0);

// On met a jour les lettres justes

for(int i = 0; i < mot.length(); i++)
if(mot.charAt(i) == c) juste[i] = 1;
}
JOptionPane.showMessageDialog(getPane(), "Dommage vous n'avez pas reussi a deviner le mot ");
}

dark_drow
dark_drow
Niveau 15
28 mars 2013 à 21:51:22

Prend l'habitude de mettre toujours des {} après les boucles et les tests et tu vas voir vite ton erreur

lilima95
lilima95
Niveau 2
29 mars 2013 à 20:30:43

Je suis vraiment débutante donc la j'ai fait mon possible pour améliorer et corriger mes
Erreurs et je comprends pas bien pourquoi des qu'on rentre une seule lettre ça indique que j'ai gagné !!

lilima95
lilima95
Niveau 2
30 mars 2013 à 10:13:09

Ah d'accord donc le problème vient de cette partie la du programme il faudrait donc une boucle qui s'exécute jusqu'à la fin du mot ?

lilima95
lilima95
Niveau 2
30 mars 2013 à 10:34:52

Merci beaucoup pour ta patience ! Donc j'ai fait ce que tu m'as dit et visiblement il y a toujours une faute sur la ligne if (gagné==1) }

lilima95
lilima95
Niveau 2
30 mars 2013 à 10:37:34

do {int gagne = 1;
for(int i = 0; i < mot.length(); i++)
if(juste[i] == 0) gagne = 0;
if(gagne == 1) }

while ( motentré!=motcherché!)

et j'ai Erreur de syntaxe ligne 30 :
(illegal start of expression) L'instruction (ou la précédente) est tronquée ou mal écrite
if(gagne == 1) }

String[]args
String[]args
Niveau 23
30 mars 2013 à 11:24:07

Il faut lire les erreurs et essayer de les comprendre, forcément il te dit qu'il comprend rien vu que t'as écrit n'importe quoi. :noel:
Relis ton code et tu verras pourquoi il t'envoie des erreurs... :noel:

Rikkel
Rikkel
Niveau 9
30 mars 2013 à 11:51:17

T'es sur que ça marche le test d'égalité entre deux chaines? Faut pas faire un motCherche.equals(motTrouve)?

Bunyan
Bunyan
Niveau 17
30 mars 2013 à 12:29:12

C'est bien la méthode "equals" qu'il faut utiliser.

Le test d'égalité strict permet de voir si c'est le même objet, et rien de plus.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment