cs_ezo
Messages postés10Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention12 février 2005
-
7 févr. 2005 à 13:14
cs_ezo
Messages postés10Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention12 février 2005
-
10 févr. 2005 à 12:25
bonjour a tous
je suis en train de m'initier a la programmation sous flash en faisant
des petits jeux de lettres pour mon amie qui est orthophoniste.
un des jeux est de masquer des mots de 2 (jusqu'a 9) lettres. j'ai mis au point un petit moteur
qui me permet de le faire mais j'en suis vraiment pas satisfait,
il est lourd et de plus il ne respecte pas la disposition du texte
d'origine, par ex :
Le chat est dans la cuisine.
Il ne pense qu'a manger !
devient avec la fonction masquer les mot de 2 lettres:
_ _ chat est dans _
_ cuisine . _ _ _ _
pense _ _ ' a manger _ chat est dans _
_ cuisine . _ _ _ _
pense _ _ ' a manger
ca m'a bouffer le paragraphe et virer le point d'exclamation, pas top tout ca.
voila!ce que j'ai reussi a faire atteint les limites de mes capacités actuelles et je n'arrive pas a aller plus loin.
si vous avez des idées elles seront les bienvenues.
cs_Edwige31
Messages postés140Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention20 mars 2005 7 févr. 2005 à 13:56
Salut,
Je te donnes mon avis ...
J'aurais pris le problème dans l'autre sens ...
Tu fais un trait correspondant aux lettres manquantes dans ta phrase (un clip représentant : _ )
Tu en disposes sur un clip A correspondant à la phrase 1.
Tu mets toutes les lettres de ta phrase et tu met un masque uniquement sur les lettres visibles.
Ensuite lors de l'affichage du résulatt, tu n'as plus qu'à ajouter un masque sur les lettres cachées et faire disparaître les _.
Voilà comment je prendrais le problème ... et tu aurais quelque chose de"light"
WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010 7 févr. 2005 à 18:58
Tu peux utiliser un split pour scinder ta chaîne en différentes phrases pour chaque ligne.
Puis tu appliques ton code. Mais je t'avoue que c'est plutôt obscur ton expliqation. Si tu pouvais mettre le code en ligne ça serait pas, on pourait plus t'aider.
@+ !
À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
cs_ezo
Messages postés10Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention12 février 2005 7 févr. 2005 à 21:11
ok je vais essayer d'etre un peu plus clair...
le programme dans son concept est assez simple, mon amie tape le texte
a faire travailler devant l'enfant puis ensuite masque les mots de 2
lettres ou plus , afin que l'enfant puisse reconstituer le
texte avec les mots manquants.
je vous copie la fonction que j'ai mis quelques jours a mettre
au point et qui est un peu lourdingue parce que je suis un peu novice
en la matiere, donc ne soyez pas trop dur avec moi.
masque = function (remplace,nombre) {
if (_root.entree.text !== "") {
// fonction 2 mots
// trouve retour
espace = "";
txt = _root.entree.text;
tab = txt.split("\r");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
espace = espace+" ";
} else {
espace = espace+" "+tab[n];
}
}
// trouve point
point = "";
tab = espace.split(".");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
point = point+" ";
} else {
point = point+" . "+tab[n];
}
}
// trouve virgule
virgule = "";
tab = point.split(",");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
virgule = virgule+" ";
} else {
virgule = virgule+" , "+tab[n];
}
}
// trouve pointvirgule
pointvirgule = "";
tab = virgule.split(";");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
pointvirgule = pointvirgule+" ";
} else {
pointvirgule = pointvirgule+" ; "+tab[n];
}
}
// trouve deuxpoint
deuxpoint = "";
tab = pointvirgule.split(":");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
deuxpoint = deuxpoint+" ";
} else {
deuxpoint = deuxpoint+" : "+tab[n];
}
}
// trouve exclamation
exclamation = "";
tab = deuxpoint.split("!");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
exclamation = exclamation+" ";
} else {
exclamation = exclamation+" ! "+tab[n];
}
}
// trouve interrogation
interrogation = "";
tab = exclamation.split("?");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
interrogation = interrogation+" ";
} else {
interrogation = interrogation+" ? "+tab[n];
}
}
// trouve apostrophe
apostrophe = "";
tab = interrogation.split("'");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
apostrophe = apostrophe+" ";
} else {
apostrophe = apostrophe+" ' "+tab[n];
}
}
// trouve tiret
tiret = "";
tab = apostrophe.split("-");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
tiret = tiret+" ";
} else {
tiret = tiret+" - "+tab[n];
}
}
// trouve parenthese
parenthese = "";
tab = tiret.split("(");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
parenthese = parenthese+" ";
} else {
parenthese = parenthese+" ( "+tab[n];
}
}
// trouve parenthesed
parenthesed = "";
tab = parenthese.split(")");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
parenthesed = parenthesed+" ";
} else {
parenthesed = parenthesed+" ) "+tab[n];
}
}
// trouve guillemet
guillemet = "";
tab = parenthesed.split(""");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
guillemet = guillemet+" ";
} else {
guillemet = guillemet+" " "+tab[n];
}
}
// trouve guillemets
guillemets = "";
tab = guillemet.split("&");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
guillemets = guillemets+" ";
} else {
guillemets = guillemets+" & "+tab[n];
}
}
// trouve pourcent
pourcent = "";
tab = guillemets.split("%");
for (n=0; n<tab.length; n++) {
if (tab[n] == "") {
pourcent = pourcent+" ";
} else {
pourcent = pourcent+" % "+tab[n];
}
}
tab = pourcent.split(" ");
for (var i = 0; i<tab.length; i++) {
if (tab[i].length == nombre) {
tab[i] = remplace;
}
}
_root.entree.text = tab.join(" ");
// reinialise point
var enlvpoint = " . ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise virgule
var enlvpoint = " , ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ; ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " : ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ! ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ? ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ' ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " - ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ( ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " ) ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " " ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " & ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
// reinitialise pointvirgule
var enlvpoint = " % ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
var enlvpoint = " ";
var replace = "";
var pos = _root.entree.text.indexOf(enlvpoint);
var debpoint = _root.entree.text.substr(0, pos);
var finpoint = _root.entree.text.substr(pos+enlvpoint.length);
_root.entree.text = debpoint+replace+finpoint;
}
}
ouff!!
voila le pavé !! ca marche pour ce qui est de trouver et de remplacer
mais c'est long et la mise en page du texte d'origine n'est pas
respectée.
j'espere que c'est un peu plus clair.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ezo
Messages postés10Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention12 février 2005 10 févr. 2005 à 09:28
en effet c'est beaucoup plus leger !!
je vais le regarder pour essayer de le comprendre un peu plus, je me
disais bien qu'il y avait surement une approche au niveaux des tableaux
mais je manque de vocabulaire actionscript pour formuler tout ca.
bon j'epluche ton code, je le test et je te tiens au courant
cs_ezo
Messages postés10Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention12 février 2005 10 févr. 2005 à 11:25
ca marche nickel !!!
la saisie du texte est respectée, et de plus j'ai appris pas mal de
choses en essayant de comprendre ton code, il ne me reste plus qu'a lui
faire prendre en compte les lettres avec des accents et ca devrait
rouler.