Browse Source

Mise en forme, réglages du pendu et version stable du plugin

master v3.5.1
patrice4 2 years ago
parent
commit
fe7e68be0e
  1. 101
      javascript/pendu.js
  2. 6
      paquet.xml

101
javascript/pendu.js

@ -12,67 +12,82 @@ var pendu_Extremes = new Array(); // Afficher ou non les extremes
// Pour afficher les lettres du mot, on va aerer avec des espaces
function pendu_aff_mot(jeu) {
Tampon=""; Long=pendu_Cherche[jeu].length;
for(i=0;i<Long;i++){Tampon=Tampon+" "+pendu_Chaine[jeu].substr(i,1);}
document.forms['pendu'+jeu].cache.value=Tampon;
Tampon = "";
Long = pendu_Cherche[jeu].length;
for (i = 0; i < Long; i++)
Tampon = Tampon + " " + pendu_Chaine[jeu].substr(i, 1);
document.forms['pendu' + jeu].cache.value = Tampon;
}
// Afficher les images du pendu en fonction de nb_pendu_Erreurs
function pendu_aff_images(jeu) {
for(i=0; i<nb_pendu_Images[jeu]; i++)
document.images['pict'+jeu+'_'+i].src = pendu_Paths[jeu]+pendu_Images[jeu][nb_pendu_Erreurs[jeu]][i];
for (i = 0; i < nb_pendu_Images[jeu]; i++)
document.images['pict' + jeu + '_' + i].src = pendu_Paths[jeu] + pendu_Images[jeu][nb_pendu_Erreurs[jeu]][i];
}
// Calcul de la chaine a afficher au tout debut
function pendu_chaine(mot, extremes) {
temp=extremes?mot.charAt(0):''; // Premiere lettre ?
Long=mot.length;
for(i=1;i<=(Long-(extremes?2:0));i++) temp+='.';
if (extremes) temp+=mot.charAt(Long-1); // Derniere lettre ?
return temp;
temp = extremes ? mot.charAt(0) : ''; // Premiere lettre ?
Long = mot.length;
for (i = 1; i <= (Long - (extremes ? 2 : 0)); i++)
temp += '.';
if (extremes) temp += mot.charAt(Long - 1); // Derniere lettre ?
return temp;
}
// Initialisation du jeu
function pendu_init(jeu) {
// retablir le clavier
if (pendu_Propositions[jeu]!=undefined) {
Long=pendu_Propositions[jeu].length;
for (i=0;i<Long;i++) pendu_clavier_grise(jeu, pendu_Propositions[jeu].substr(i,1), false);
}
// choisir un mot au hasard et calculer la chaine a afficher
Tirage=Math.floor(Math.random()*pendu_Mots[jeu].length); // choisir un mot au hasard
pendu_Cherche[jeu]=pendu_Mots[jeu][Tirage]; // Stocker le mot choisi
pendu_Chaine[jeu]=pendu_chaine(pendu_Cherche[jeu], pendu_Extremes[jeu]);
// initialiser les variables
pendu_Propositions[jeu]='';
nb_pendu_Erreurs[jeu]=0;
pendu_aff_mot(jeu);
pendu_aff_images(jeu);
// retablir le clavier
if (pendu_Propositions[jeu] != undefined) {
Long = pendu_Propositions[jeu].length;
for (i = 0; i < Long; i++)
pendu_clavier_grise(jeu, pendu_Propositions[jeu].substr(i, 1), false);
}
// choisir un mot au hasard et calculer la chaine a afficher
Tirage = Math.floor(Math.random() * pendu_Mots[jeu].length); // choisir un mot au hasard
pendu_Cherche[jeu] = pendu_Mots[jeu][Tirage]; // Stocker le mot choisi
pendu_Chaine[jeu] = pendu_chaine(pendu_Cherche[jeu], pendu_Extremes[jeu]);
// initialiser les variables
pendu_Propositions[jeu] = '';
nb_pendu_Erreurs[jeu] = 0;
pendu_aff_mot(jeu);
pendu_aff_images(jeu);
}
// griser (ou non !) une lettre du clavier
function pendu_clavier_grise(jeu, lettre, grise) {
document.forms['pendu'+jeu].elements[lettre].disabled=grise;
if (grise) document.forms['pendu'+jeu].elements[lettre].style.color='graytext';
else document.forms['pendu'+jeu].elements[lettre].style.color='';
document.forms['pendu'+jeu].elements[lettre].blur();
document.forms['pendu' + jeu].elements[lettre].disabled = grise;
if (grise) document.forms['pendu' + jeu].elements[lettre].style.color = 'graytext';
else document.forms['pendu' + jeu].elements[lettre].style.color = '';
document.forms['pendu' + jeu].elements[lettre].blur();
}
// Voir si la lettre existe dans le mot
function pendu_trouve(lettre, jeu) {
Long=pendu_Cherche[jeu].length; // Longueur du mot a trouver
pendu_Propositions[jeu]+=lettre; // stocker la lettre dans les lettres deja proposees
trv=0;
for (i=0;i<Long;i++) if(pendu_Cherche[jeu].substr(i,1)==lettre) {
trv=1; // Traitement si la lettre est trouvee
aGauche=pendu_Chaine[jeu].substr(0,i);
aDroite=pendu_Chaine[jeu].substr(i+1,Long);
pendu_Chaine[jeu]=aGauche+lettre+aDroite;
}
pendu_aff_mot(jeu); // On affiche le mot
pendu_clavier_grise(jeu, lettre, true); // On grise le clavier
if(trv==0) nb_pendu_Erreurs[jeu]++; // Si la lettre n'a pas ete trouvee, +1 dans Erreurs
if(nb_pendu_Erreurs[jeu]>0) pendu_aff_images(jeu); // On change de pendu...
if(nb_pendu_Erreurs[jeu]>=nb_Pendus[jeu]){alert(T_fini+pendu_Cherche[jeu]);pendu_init(jeu);} // Perdu ?
if(pendu_Chaine[jeu]==pendu_Cherche[jeu]){alert(T_bravo);pendu_init(jeu);} // Gagne ?
Long = pendu_Cherche[jeu].length; // Longueur du mot a trouver
pendu_Propositions[jeu] += lettre; // stocker la lettre dans les lettres deja proposees
trv = 0;
for (i = 0; i < Long; i++)
if (pendu_Cherche[jeu].substr(i, 1) == lettre) {
trv = 1; // Traitement si la lettre est trouvee
aGauche = pendu_Chaine[jeu].substr(0, i);
aDroite = pendu_Chaine[jeu].substr(i + 1, Long);
pendu_Chaine[jeu] = aGauche + lettre + aDroite;
}
pendu_aff_mot(jeu); // On affiche le mot
pendu_clavier_grise(jeu, lettre, true); // On grise le clavier
if (trv == 0)
nb_pendu_Erreurs[jeu]++; // Si la lettre n'a pas ete trouvee, +1 dans Erreurs
if (nb_pendu_Erreurs[jeu] > 0)
pendu_aff_images(jeu); // On change de pendu...
if (nb_pendu_Erreurs[jeu] + 1 >= nb_Pendus[jeu])
setTimeout(function(){
alert(T_fini + pendu_Cherche[jeu]); // Perdu !
pendu_init(jeu);
}, 200);
if (pendu_Chaine[jeu] == pendu_Cherche[jeu])
setTimeout(function(){
alert(T_bravo); // Gagne !
pendu_init(jeu);
}, 200);
}

6
paquet.xml

@ -1,8 +1,8 @@
<paquet
prefix="jeux"
categorie="divers"
version="3.5.0"
etat="test"
version="3.5.1"
etat="stable"
compatibilite="[3.0.0;3.2.*]"
logo="prive/themes/spip/images/jeux-48.png"
schema="0.20"
@ -11,7 +11,7 @@
<nom>Des jeux dans vos articles</nom>
<auteur>Patrice VANNEUFVILLE</auteur>
<auteur lien="http://www.maieul.net">Ma&#239;eul Rouquette</auteur>
<licence>GNU/LGPL - (c) 2006-2012</licence>
<licence>GNU/LGPL - (c) 2006-2021</licence>
<traduire module="jeu" reference="fr"/>
<traduire module="jeux" reference="fr"/>

Loading…
Cancel
Save