/******************************************************************************* Toutes les fonctions liées à la page pour le gestion des cadres des options, demande d'un nouveau texte… *******************************************************************************/ //cette fonction permet d'avoir un nouveau texte var exo_en_cours = 0; // la leçon en cours // le numéro de la leçon var cur_checked = "checked"; var le_texte=new Array(); var vies = 2; function change_exo(a) { if (a=="+" && exo_en_cours0) exo_en_cours--; new_text(exo_en_cours); } function new_text(a) { //on réinitialise les variables le_texte = new Array; recommencer = false; nb_recom=0; l=0; // la ligne en cours if (!a) // si le numéro de l'exercice n'est pas défini a=0; // on choisi par défaut le premier (donc le 0) exo_en_cours = a; // permet de connaître globalement sur quel exo on se trouve var reg = new RegExp("###","g"); le_texte = exo[a].split(reg); document.getElementById("resultats").innerHTML = ""; // efface la zone de résulats document.getElementById("txt").value = ""; // efface le texte frappé //on efface le texte précédement tapé document.getElementById("txt").focus(); // donne le focus à la zone de frappe document.getElementById("exo_nb").innerHTML = (a+1) +" : "+titre[a]; // affiche le numéro de l'exo (+1 pour faire joli) et le titre de l'exercice //vies = 2; if (mode_jeu) document.getElementById("nb_vies").innerHTML = make_heart(); else document.getElementById("nb_vies").innerHTML = ""; ligne_suivante(); // ce qui suit permet de griser les boutons [-] et [+] document.getElementById("but_+").style.color = "inherit"; document.getElementById("but_+").style.borderColor = "inherit"; document.getElementById("but_-").style.color = "inherit"; document.getElementById("but_-").style.borderColor = "inherit"; if (exo_en_cours == 0) { document.getElementById("but_-").style.color = "grey"; document.getElementById("but_-").style.borderColor = "grey"; } if (exo_en_cours == exo.length-1) { document.getElementById("but_+").style.color = "grey"; document.getElementById("but_+").style.borderColor = "grey"; } color_key(); // colorisation des touches du clavier } function view_options(action) { if (action == "") return; document.getElementById("options").style.display = action; document.getElementById("voile").style.display = action; if (action == "block") document.getElementById("txt").blur(); if (action == "none") document.getElementById("txt").focus(); } function view_help(action) { if (action == "") return; document.getElementById("help").style.display = action; document.getElementById("voile").style.display = action; if (action == "block") document.getElementById("txt").blur(); if (action == "none") document.getElementById("txt").focus(); } var mode_jeu = false; function modejeu(a) { if (a) { mode_jeu = true; vies = 2; } else mode_jeu = false; } function make_heart() { var coeur="❤ "; var nb_vies=""; /*for (var i=0 ; i'+coeur+''; } function options(e) { //var touche = window.event ? e.keyCode : e.which; //alert(touche); } var type_kb = "kb_decal"; function aff_kb(a) { if (a == true) type_clavier(type_kb); else type_clavier("none"); } function type_clavier(a) { if (a == "none") { document.getElementById("aff_kb").innerHTML=""; return; } if (a == "kb_decal") document.getElementById("aff_kb").innerHTML=kb_decal(); if (a == "kb_typematrix") document.getElementById("aff_kb").innerHTML=kb_typematrix(); //document.getElementById("aff_kb").innerHTML=kb_typematrix(); //document.getElementById("aff_kb").innerHTML=kb_decal(); //document.getElementById("aff_kb").innerHTML='clavier bépo'; color_key(); } var shift_down = false; var altgr_down = false; function get_key(e,action) { var touche = window.event ? e.keyCode : e.which; //alert(touche + " " + action); if(action == "down") //on enfonce la touche { if (touche== 16) //shift shift_down = true; if (touche == 17 || touche == 225) //altgr linux = 225 ; win = 17 ??? étrange altgr_down = true; } if(action == "up") { if (touche== 16) //shift shift_down = false; if (touche == 17 || touche == 225) //altgr altgr_down = false; } if (shift_down == true && altgr_down == true) layout = bepo_4; if (shift_down == true && altgr_down == false) layout = bepo_2; if (shift_down == false && altgr_down == true) layout = bepo_3; if (shift_down == false && altgr_down == false) layout = bepo_1; for (var k = 0 ; k < layout.length ; k++) { if(document.getElementById("k"+k)) document.getElementById("k"+k).innerHTML = layout.charAt(k); } color_key(); } function color_key() { var a; var b; var exo_pre=""; for (var key=0 ; key < 48 ; key++) { if (document.getElementById("k"+key)) document.getElementById("k"+key).style.backgroundColor = "inherit"; } for (var i = 0 ; i < exo_en_cours ; i++) { exo_pre += lettres[i]; //alert(exo_pre); } for (var key=0 ; key < 48 ; key++) { if (document.getElementById("k"+key)) { a = document.getElementById("k"+key).innerHTML; for (var lettre = 0 ; lettre < exo_pre.length ; lettre++) { b = exo_pre.charAt(lettre); //alert(key+" _" +a+"_ _"+b+"_"); if ( a == b && document.getElementById("k"+key) ) document.getElementById("k"+key).style.backgroundColor = "#c1f7ad"; } for (var lettre = 0 ; lettre < lettres[exo_en_cours].length ; lettre++) { b = lettres[exo_en_cours].charAt(lettre); //alert(key+" _" +a+"_ _"+b+"_"); if ( a == b && document.getElementById("k"+key) ) document.getElementById("k"+key).style.backgroundColor = "#7cfc00"; } } } //document.getElementById("k"+key).style.backgroundColor = col; } var bepo_1 = "$\"«»()@+-/*=%bépoè^vdljzwauie,ctsrnmçêàyx.k'qghf"; var bepo_2 = "#1234567890°`BÉPOÈ!VDLJZWAUIE;CTSRNMÇÊÀYX:K?QGHF"; var bepo_3 = "–—<>[] | &œ ¡ æù¨€’ \\{}… ¿ "; var bepo_4 = " „“”≤≥ ˝ Œ ÆÙ   ‘’· "; /* var bepo_1 = "²&é\"'(-è_çà)=azertyuiop^$qsdfghjklmù*'+bepo_1.charAt(k)+''; else kb += '
'+bepo_1.charAt(k)+'
'; k++; } kb += '
'; } kb += ''; return kb; } function kb_typematrix() { var row_dec = new Array(0,26,26,26); var key_per_row = new Array(13,12,11,11); var key_space = new Array(6,5,5,5); k=0; var row=0; var kb= '
'; for (var i = 0 ; i < 4 ; i++) { for(var j = 0 ; j < key_per_row[i] ; j++) { if(k == 48) k=36; if(j == 0) kb += '
'+bepo_1.charAt(k)+'
'; else if(j == key_space[i]) kb += '
'+bepo_1.charAt(k)+'
'; else kb += '
'+bepo_1.charAt(k)+'
'; k++; if(k == 36) k=38; } kb += '
'; //k=48; // pour avoir le nombre total de touche } kb += '
'; return kb; }