Chapitre 3

D\'Artagnan est ponctuel au rendez-vous avec Athos qui se pr\u00E9sente avec Porthos et Aramis. Ces derniers s\'exclament: "Mais ce Monsieur doit se battre avec moi!".
"Messieurs," r\u00E9pond courtoisement le Gascon, "si M. Athos ne me tue pas, j\'aurai le plaisir de me battre contre vous apr\u00E8s."
Le duel vient de commencer lorsque cinq gardes du cardinal arrivent. "Messieurs, vous savez qu\'il est interdit de se battre! Suivez-nous imm\u00E9diatement!" "Nous n\'en avons pas l\'intention", r\u00E9pliquent les mousquetaires. "Eh bien, nous allons vous y obliger alors!" dit le commandant des gardes en d\u00E9gainant son \u00E9p\u00E9e. Les mousquetaires ne se font pas prier et d\u00E9gainent eux aussi. "Permettez-moi de combattre \u00E0 vos c\u00F4t\u00E9s, puisqu\'ils sont cinq et vous n\'\u00EAtes que trois" sugg\u00E8re d\'Artagnan.
"Cette proposition vous rend honneur, Monsieur, nous acceptons avec joie," r\u00E9pond Athos.
Mousquetaires, d\'Artagnan et gardes combattent avec fureur et il reste, parmi les gardes, des bless\u00E9s sur le champ.
D\'Artagnan, Athos, Porthos et Aramis s\'en vont entrelac\u00E9s et ivres de joie.
"Je ne suis pas mousquetaire mais je suis au moins re\u00E7u apprenti, n\'est-ce pas?" demande d\'Artagnan \u00E0 ses amis.
'; if (is.CRAPBrowser){ReadingText=ResolveAllURLs(ReadingText);} var NavBar=''; NavBar+='
'; NavBar+=''; NavBar+=''; NavBar+='
'; if (is.CRAPBrowser){NavBar=ResolveAllURLs(NavBar);} var TitleCode = ''; TitleCode += '' + ExerciseTitle + '
'; TitleCode += '' + ExerciseSubtitle + '
'; TitleCode += '
'; var WordBox = ''; var ClozeOpener = ''; ClozeOpener += ''; var Buttons = '
'; ClozeOpener += '
'; var ClozeCloser = '
'; Buttons += '
'; Buttons += ''; Buttons += '
'; var GapCode = ''; var ClueButton = ''; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function ShowReading(){ if (ReadingFrame != null){ if (ReadingURL.length > 0){ ReadingFrame.location.href=ReadingURL; } else{ ReadingFrame.document.clear(); ReadingFrame.document.open(); ReadingFrame.document.write(ReadingText); ReadingFrame.document.close(); } } } //Reading text/timer code var min var sec var ShowReadingAgain = ''; function DownTime(mm,ss){ min = mm; sec = ss; if (sec==0) { sec = 60; min--; } sec--; if (sec<10){ sec="0" + sec; } if (TimerFrame.document.TimerForm.face == null){ return; } TimerFrame.document.TimerForm.face.value= min+":"+sec; if ((min==0) && (sec==0)){ TimesUp() } else{ setTimeout('DownTime(min,sec)',1000) } } function StartReading(){ Stuff='Tu as encore un peu de temps!'; Stuff+=' '; WriteToTimer(Stuff); ShowReading(); timeoutID=setTimeout('DownTime(4,0)',1000); } function TimesUp() { var Stuff=''; if (ShowReadingAgain.length > 0) { Stuff+=''; WriteToTimer(Stuff); } WriteToReading('Ton temps est écoulé!'); } function WriteToReading(Stuff) { if (is.CRAPBrowser){Stuff=ResolveAllURLs(Stuff);} ReadingFrame.document.clear(); ReadingFrame.document.open(); ReadingFrame.document.writeln (''); ReadingFrame.document.writeln (' '); ReadingFrame.document.writeln ('
'); ReadingFrame.document.writeln ('
') ReadingFrame.document.writeln (''); ReadingFrame.document.writeln (Stuff); ReadingFrame.document.writeln ('
'); ReadingFrame.document.close(); } function WriteToTimer(Stuff){ if (is.CRAPBrowser){Stuff=ResolveAllURLs(Stuff);} TimerFrame.document.clear(); TimerFrame.document.open(); TimerFrame.document.writeln (''); TimerFrame.document.writeln (' '); TimerFrame.document.writeln ('
'); TimerFrame.document.writeln ('
') TimerFrame.document.writeln (''); TimerFrame.document.writeln (Stuff); TimerFrame.document.writeln ('
'); TimerFrame.document.close(); } function BuildExercise(){ var OutString = ''; var ClozeStuff = ''; for (var i=0; i'; } else{ GapLen = I[i][1][0][0].length; if (GapLen < 3){GapLen = 3;} Gap = ReplaceStuff('[strGapSize]', GapLen, GapCode); Gap = ReplaceStuff('[strGapName]', 'Gap' + i + '', Gap); Gap = ReplaceStuff('[strItemNum]', i + '', Gap); Gap = ReplaceStuff('[strValue]', State[i][5], Gap); ClozeStuff += Gap; //Create and add the clue button if (I[i][2].length > 0){ Btn = ReplaceStuff('[strItemNum]', i + '', ClueButton); ClozeStuff += Btn; } } } //Add the last bit if (Text.length > I.length){ ClozeStuff += Text[Text.length-1]; } //Put the final pieces together OutString = ClozeOpener + ClozeStuff + ClozeCloser + Buttons; BuiltCloze = OutString; } function WriteFeedback(Feedback) { //Build the output string var OutString = ''; OutString += ''; OutString += ' '; OutString += '
'; OutString += NavBar; if (Feedback.length>0){ OutString += '' } OutString += '
'; OutString += ''; OutString += Feedback; OutString += '
'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame TopFrame.document.clear(); TopFrame.document.open(); TopFrame.document.write(OutString); TopFrame.document.close(); } function DisplayExercise(){ //Build the output string var OutString = ''; OutString += ''; OutString += ' '; OutString += '
'; OutString += TitleCode; OutString += ''; OutString += NavBar; OutString += '
'; if (WordBox.length > 0){ OutString += WordBox; } OutString += ''; OutString += BuiltCloze; OutString += '
'; if (is.CRAPBrowser){OutString=ResolveAllURLs(OutString);} //Write it to the frame BottomFrame.document.clear(); BottomFrame.document.open(); BottomFrame.document.write(OutString); BottomFrame.document.close(); } function ShowClue(ItemNum){ //alert(ItemNum); State[ItemNum][0] = 1; WriteFeedback(I[ItemNum][2]); } function SaveCurrentAnswers(){ for (var i=0; i-1){ FirstBit = InString.substring(0, i); LastBit = InString.substring(i + Token.length, InString.length); InString = FirstBit + Replacement + LastBit; i = InString.indexOf(Token); } return InString; } I = new Array(); I[0] = new Array(); I[0][1] = new Array(); I[0][1][0] = new Array(); I[0][1][0][0]='ponctuel'; I[0][2]=''; I[1] = new Array(); I[1][1] = new Array(); I[1][1][0] = new Array(); I[1][1][0][0]='rendez-vous'; I[1][2]=''; I[2] = new Array(); I[2][1] = new Array(); I[2][1][0] = new Array(); I[2][1][0][0]='Porthos'; I[2][2]=''; I[3] = new Array(); I[3][1] = new Array(); I[3][1][0] = new Array(); I[3][1][0][0]='Messieurs'; I[3][2]=''; I[4] = new Array(); I[4][1] = new Array(); I[4][1][0] = new Array(); I[4][1][0][0]='Gascon'; I[4][2]=''; I[5] = new Array(); I[5][1] = new Array(); I[5][1][0] = new Array(); I[5][1][0][0]='tue'; I[5][2]=''; I[6] = new Array(); I[6][1] = new Array(); I[6][1][0] = new Array(); I[6][1][0][0]='apr\u00E8s'; I[6][2]=''; I[7] = new Array(); I[7][1] = new Array(); I[7][1][0] = new Array(); I[7][1][0][0]='gardes'; I[7][2]=''; I[8] = new Array(); I[8][1] = new Array(); I[8][1][0] = new Array(); I[8][1][0][0]='arrivent'; I[8][2]=''; I[9] = new Array(); I[9][1] = new Array(); I[9][1][0] = new Array(); I[9][1][0][0]='interdit'; I[9][2]=''; I[10] = new Array(); I[10][1] = new Array(); I[10][1][0] = new Array(); I[10][1][0][0]='pas'; I[10][2]=''; I[11] = new Array(); I[11][1] = new Array(); I[11][1][0] = new Array(); I[11][1][0][0]='mousquetaires'; I[11][2]=''; I[12] = new Array(); I[12][1] = new Array(); I[12][1][0] = new Array(); I[12][1][0][0]='nous allons'; I[12][2]=''; I[13] = new Array(); I[13][1] = new Array(); I[13][1][0] = new Array(); I[13][1][0][0]='des'; I[13][2]=''; I[14] = new Array(); I[14][1] = new Array(); I[14][1][0] = new Array(); I[14][1][0][0]='\u00E9p\u00E9e'; I[14][2]=''; I[15] = new Array(); I[15][1] = new Array(); I[15][1][0] = new Array(); I[15][1][0][0]='eux'; I[15][2]=''; I[16] = new Array(); I[16][1] = new Array(); I[16][1][0] = new Array(); I[16][1][0][0]='vos'; I[16][2]=''; I[17] = new Array(); I[17][1] = new Array(); I[17][1][0] = new Array(); I[17][1][0][0]='\u00EAtes'; I[17][2]=''; I[18] = new Array(); I[18][1] = new Array(); I[18][1][0] = new Array(); I[18][1][0][0]='combattent'; I[18][2]=''; I[19] = new Array(); I[19][1] = new Array(); I[19][1][0] = new Array(); I[19][1][0][0]='des'; I[19][2]=''; I[20] = new Array(); I[20][1] = new Array(); I[20][1][0] = new Array(); I[20][1][0][0]='ivres de joie'; I[20][2]=''; I[21] = new Array(); I[21][1] = new Array(); I[21][1][0] = new Array(); I[21][1][0][0]='mousquetaire'; I[21][2]=''; I[22] = new Array(); I[22][1] = new Array(); I[22][1][0] = new Array(); I[22][1][0][0]='n\'est-ce pas'; I[22][2]=''; I[23] = new Array(); I[23][1] = new Array(); I[23][1][0] = new Array(); I[23][1][0][0]='\u00E0'; I[23][2]=''; Text = new Array(); Text[0]='D\'Artagnan est '; Text[1]=' au '; Text[2]=' avec Athos qui se pr\u00E9sente avec '; Text[3]=' et Aramis. Ces derniers s\'exclament: "Mais ce Monsieur doit se battre avec moi!".
"'; Text[4]='," r\u00E9pond courtoisement le '; Text[5]=', "si M. Athos ne me '; Text[6]=' pas, j\'aurai le plaisir de me battre contre vous '; Text[7]='."
Le duel vient de commencer lorsque cinq '; Text[8]=' du cardinal '; Text[9]='. "Messieurs, vous savez qu\'il est '; Text[10]=' de se battre! Suivez-nous imm\u00E9diatement!" "Nous n\'en avons '; Text[11]=' l\'intention", r\u00E9pliquent les '; Text[12]='. "Eh bien, '; Text[13]=' vous y obliger alors!" dit le commandant '; Text[14]=' gardes en d\u00E9gainant son '; Text[15]='. Les mousquetaires ne se font pas prier et d\u00E9gainent '; Text[16]=' aussi. "Permettez-moi de combattre \u00E0 '; Text[17]=' c\u00F4t\u00E9s, puisqu\'ils sont cinq et vous n\''; Text[18]=' que trois" sugg\u00E8re d\'Artagnan.
"Cette proposition vous rend honneur, Monsieur, nous acceptons avec joie," r\u00E9pond Athos.
Mousquetaires, d\'Artagnan et gardes '; Text[19]=' avec fureur et il reste, parmi les gardes, '; Text[20]=' bless\u00E9s sur le champ.
D\'Artagnan, Athos, Porthos et Aramis s\'en vont entrelac\u00E9s et '; Text[21]='.
"Je ne suis pas '; Text[22]=' mais je suis au moins re\u00E7u apprenti, '; Text[23]='?" demande d\'Artagnan '; Text[24]=' ses amis.'; State = new Array(); function StartUp(){ var i = 0; State.length = 0; for (i=0; i -1){ var TotalChars = GetGapValue(i).length; State[i][3] = (TotalChars-State[i][1])/TotalChars; if (State[i][0] > 0){State[i][3] = State[i][3]/2;} if (State[i][3]<0){State[i][3] = 0;} State[i][4] = 1; } else{ //Otherwise, add zero to the array and increment the hints for this item, as a penalty State[i][1]++; State[i][3] = 0; //then set the flag AllCorrect = 0; } } } //Calculate the total score var TotalScore = 0; for (i=0; i'; } Output += YourScoreIs + ' ' + TotalScore + '%.
'; if (AllCorrect == 0){ Output += '
' + Incorrect; } BuildExercise(); WriteFeedback(Output); DisplayExercise(); RestoreCurrentAnswers(); } function TrackFocus(BoxNumber){ CurrentWord = BoxNumber; } function CheckBeginning(Guess, Answer){ var OutString = ''; var i = 0; var UpperGuess = ''; var UpperAnswer = ''; if (CaseSensitive == false) { UpperGuess = Guess.toUpperCase(); UpperAnswer = Answer.toUpperCase(); } else { UpperGuess = Guess; UpperAnswer = Answer; } while (UpperGuess.charAt(i) == UpperAnswer.charAt(i)) { OutString += Guess.charAt(i); i++; } OutString += Answer.charAt(i); return OutString; } function FindLongest(InArray){ if (InArray.length < 1){return -1;} var Longest = 0; for (var i=1; i InArray[Longest].length){ Longest = i; } } return Longest; } function GetGapValue(GNum){ var RetVal = ''; if ((GNum<0)||(GNum>=I.length)){return RetVal;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ RetVal = eval('BottomFrame.document.Cloze.Gap' + GNum).value; RetVal = TrimString(RetVal); } else{ RetVal = State[GNum][5]; } return RetVal; } function SetGapValue(GNum, Val){ if ((GNum<0)||(GNum>=I.length)){return;} if (eval('BottomFrame.document.Cloze.Gap' + GNum) != null){ eval('BottomFrame.document.Cloze.Gap' + GNum).value = Val; } } function FindCurrent() { var x = 0; FoundCurrent = -1; //Test the current word: //If it's state is not set to already correct, check the word. if (State[CurrentWord][4] != 1){ if (CheckAnswer(CurrentWord, false) < 0){ return CurrentWord; } } x=CurrentWord + 1; while (x -1){return ''} RightBits = new Array(); for (var i=0; i 0){ SetGapValue(CurrGap, HintString); State[CurrGap][1] = State[CurrGap][1] + 1; } WriteFeedback(GiveHint); } function Blank(){ return ' ©Half-Baked Software. Loading... '; } //--> //]]> -->