Etat du code
Code du pendu téléchargeable sur Google Drive :
drive.google.com/open?id=0B0haWyfuFTVncS1Xc3IxOWUtVUk&authuser=0
Code pour l'interface:
import g4p_controls.*;
//Importation de la bibliothèque g4p_controls.*
String[] dictionnaire;
//Déclaration d'un tableau de caractère appelé dictionnaire
String motatrouver;
//Déclaration d'une chaine de caractère appelé motatrouver
String motcache;
//Déclaration d'une chaine de caractère appelé motcache
char lettrepropose;
//Déclaration de la variable lettrepropose de type caractère
String Lettresfausses;
//Déclaration d'une chaine de caractère appelé Lettresfausses
void setup(){
//Déclaration de la méthode setup qui ne s'exécute qu'une seule fois et ne prend aucun paramètre
size(620, 620, JAVA2D);
//Taille de la fenêtre: 620 sur 620
createGUI();
dictionnaire = new String[]{ "cheval", "chien", "crocodile", "chat","perroquet","autruche","dromadaire","éléphant","caméléon","guépard","poisson","vache","cerf","lézard","chimpanzé" };
//Le tableau dictionnaire est associé à un nouveau tableau permettant la création d'une liste de mots
motatrouver = dictionnaire[int(random(dictionnaire.length))];
//Affectation de la chaine de caractère motatrouver au tableau dictionnaire.
motcache = trouverMotcache(motatrouver);
//Affectation de motcache à trouverMotcache prenant en paramètre motatrouver
motaffiche.setText(trouverMotcache(motcache));
//le motaffiche modifie les données de la mthode trouvermotcache prenant en paramètre motcache
Lettresfausses = "";
//La chaine de caractère "Lettres fausses" est affecté à ""
println("Mot à trouver: " + motatrouver);
//Affichage dans la console
}
/* Cache le mot par des "_" */
String trouverMotcache(String mot) {
//Déclaration de la chaîne de caractères trouverMotcache, associée à la chaîne de caractère mot.
motcache = "";
//Affectation de la chaine de caractère à ""
for (int i = 0; i < mot.length();i=i+1)
//Déclaration de la boucle for
motcache = motcache + "_";
//Permet de transformer le motcache par des "_"
return motcache;
//Renvoie au caractère motcache
}
/* Ajoute des espaces entre chaque lettre */
String trouverLettresFausses(String mot) {
String str = "";
//Déclaration de la chaine de caractère str et affectation à ""
for (int i = 0; i < mot.length() - 1;i=i+1)
//Déclaration de la boucle for
str = str + mot.charAt(i) + " / ";
str = str + mot.charAt(mot.length() - 1);
return str;
//Renvoie au caractère str
}
/* Ajoute des espaces entre chaque lettre */
String trouvermotcache(String mot) {
String str = "";
//Déclaration de la chaine de caractère str et affectation à ""
for (int i = 0; i < mot .length();i=i+1)
//Déclaration de la boucle for
str = str + mot.charAt(i) + " ";
return str;
//Renvoie au caractère str
}
boolean testlettre() {
boolean lettre_trouve = false;
//Déclaration d'un booleen coder et affectation a false
StringBuilder motcacheBuilder = new StringBuilder(motcache);
for (int i = 0; i < motatrouver.length(); i=i+1)
//Déclaration de la boucle for
if (motatrouver.charAt(i) == lettrepropose ) {
lettre_trouve = true;
motcacheBuilder.setCharAt(i, motatrouver.charAt(i));
}
if (lettre_trouve) {
motcache = motcacheBuilder.toString();
motaffiche.setText((motcache));
}
else {
Lettresfausses = Lettresfausses + lettrepropose;
lettresfausses.setText(trouverLettresFausses(Lettresfausses));
}
println("Lettres justes: " + motcache);
//Affichage dans la console des lettres justes
println("Lettres fausses: " + Lettresfausses);
//Affichage dans la console des lettres fausses
return lettre_trouve;
//Renvoie à la valeur lettre_trouve
}
void draw(){
//Déclaration de la méthode draw qui s'exécute en boucle à l'infini
background(150);
//Affectation de la couleur de la fenêtre
/* Si le nombre de Lettresfausses est supérieur à la valeur alors apparition d'une ligne dans la fenêtre */
if (Lettresfausses.length() > 0)
line(600, 600, 300, 600);
if (Lettresfausses.length() > 1)
line(300,600,300,300);
if (Lettresfausses.length() > 2)
line(300, 300, 500, 300);
if (Lettresfausses.length() > 3)
line(500,300,500,400);
if (Lettresfausses.length() > 4)
ellipse(500,400,55,55);
if (Lettresfausses.length() > 5)
line(500,425,500,500);
if (Lettresfausses.length() > 6)
line(450,450,550,450);
if (Lettresfausses.length() > 7)
line(500,500,450,550);
if (Lettresfausses.length() > 8)
line(500,500,550,550);
if (Lettresfausses.length() > 9){
line(300,500,350,600);
defaite.setText("DEFAITE !"); }
}
void lettressaisie_change1(GTextField source, GEvent event) {
}
void valider_click1(GButton source, GEvent event) {
println("Saisie: " + lettressaisie.getText().charAt(0));
if (lettressaisie.getText().length() < 1)
return;
lettrepropose = lettressaisie.getText().charAt(0);
testlettre();
lettressaisie.setText("");
}
void keyPressed()
{
if (keyCode == ENTER)
{ println("Saisie: " + lettressaisie.getText().charAt(0));
if (lettressaisie.getText().length() < 1)
return;
lettrepropose = lettressaisie.getText().charAt(0);
testlettre();
lettressaisie.setText(""); }
}
Code G4P:
void createGUI(){
G4P.messagesEnabled(false);
G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME);
G4P.setCursor(ARROW);
if(frame != null)
frame.setTitle("LE JEU DU PENDU");
motaffiche = new GLabel(this, 40, 60, 156, 93);
motaffiche.setOpaque(false);
motafficheTitre = new GLabel(this, 40, 10, 156, 93);
motafficheTitre.setText("Mot à trouver:");
motafficheTitre.setOpaque(false);
defaite = new GLabel(this, 20, 340, 173, 80);
lettresfausses = new GLabel(this, 20, 140, 173, 80);
lettresfausses.setText("");
lettresfausses.setOpaque(false);
lettresfaussesTitre = new GLabel(this, 40, 120, 150, 79);
lettresfaussesTitre.setText("Lettres Fausses:");
lettresfaussesTitre.setOpaque(false);
lettressaisie = new GTextField(this, 400, 100, 60, 30, G4P.SCROLLBARS_NONE);
lettressaisie.setOpaque(true);
lettressaisie.addEventHandler(this, "lettressaisie_change1");
lettresSaisiesLabel = new GLabel(this, 400, 46, 85, 22);
lettresSaisiesLabel.setText("Lettres saisies");
lettresSaisiesLabel.setOpaque(false);
boutonvalider = new GButton(this, 240, 100, 80, 30);
boutonvalider.setText("Valider");
boutonvalider.addEventHandler(this, "valider_click1");
}
GLabel motaffiche;
GLabel motafficheTitre;
GLabel lettresfausses;
GLabel lettresfaussesTitre;
GTextField lettressaisie;
GLabel defaite;
GLabel lettresSaisiesLabel;
GButton boutonvalider;