devoir
Bild: devoir
devoir.htm — 16 KB
Dateiinhalt
<html> <head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Richard Nisius."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta> <title> devoir </title> <script language="javascript" type="text/javascript"> //<![CDATA[ <!-- // BrowserCheck Object function BrowserCheck() { var b = navigator.appName //HBS extension this.mac = (navigator.appVersion.indexOf('Mac') != -1) if (b=="Netscape") this.b = "ns" else if (b=="Microsoft Internet Explorer") this.b = "ie" else this.b = b this.version = navigator.appVersion this.v = parseInt(this.version) this.ns = (this.b=="ns" && this.v>=4) this.ns4 = (this.b=="ns" && this.v==4) this.ns5 = (this.b=="ns" && this.v==5) this.ie = (this.b=="ie" && this.v>=4) this.ie4 = (this.version.indexOf('MSIE 4')>0) this.ie5 = (this.version.indexOf('MSIE 5')>0) this.min = (this.ns||this.ie) this.CRAPBrowser = (this.ie4 && this.mac); //Cannot Resolve Addresses Properly } is = new BrowserCheck(); var LocFolder = GetFolder(window.location.href); function GetFolder(LocPath){ LocPath = ReplaceStuff('\'','%27',LocPath); var i = LocPath.lastIndexOf('/'); if (i<0){i=LocPath.lastIndexOf('\\')}; return LocPath.substring(0,i); } function CombineURLs(InURL){ var i = InURL.indexOf('../'); var s = LocFolder; while (i >- 1){ s = GetFolder(s); InURL = InURL.substring(3,InURL.length); i = InURL.indexOf('../'); } return s + '/' + InURL; } x = new Array(); function ResolveURLs(InText,Attribute){ x.length=0; var Temp = InText.toLowerCase(); var z; var AttLen = Attribute.length + 2; var y=Temp.lastIndexOf(Attribute + '="'); while (y>-1){ var sLoc = y+AttLen; if (Temp.substring(sLoc,sLoc+5) != 'http:'){ x[x.length]=new Array(); x[x.length-1][0] = sLoc; z = Temp.indexOf('"',sLoc); x[x.length-1][1] = z; x[x.length-1][2] = InText.substring(sLoc,z); } Temp = Temp.substring(0,y); y=Temp.lastIndexOf(Attribute + '="'); } for (var j=0; j<x.length; j++){ InText = InText.substring(0,x[j][0]) + CombineURLs(x[j][2]) + InText.substring(x[j][1], InText.length); } return InText; } function ResolveAllURLs(Stuff){ Stuff = ResolveURLs(Stuff,'href'); Stuff = ResolveURLs(Stuff,'src'); Stuff = ResolveURLs(Stuff,'parent.location'); return Stuff; } if (is.ie){ var BoxSize = '1'; } else{ var BoxSize = '2'; } var CurrentBox = -1; var Feedback = ''; var CluesAcross = 'Horizontalement :'; var CluesDown = 'Verticalement :'; var Correct = 'Bravo, bien joué!'; var Incorrect = 'Une partie de ta réponse est correcte. Les cases erronées ont été effacées.'; var GiveHint = 'Une lettre a été ajoutée.'; var YourScoreIs = 'Ton pointage est :'; var Instructions = 'Complète le mots-croisés. Ensuite, clique sur le bouton "Correction". Tu peux utiliser le bouton "Aide" pour obtenir une lettre gratuite. Clique sur le numéro dans la grille pour connaître l\'énoncé qui te permettra de trouver le mot. Tu peux aussi cliquer sur "Indice" pour obtenir un indice. Tu perdras des points si tu utilises "Aide" ou "Indice"!'; var BuiltGrid = ''; var BuiltClues = ''; var BuiltExercise = ''; var Penalties = 0; var ExerciseSubtitle = 'Mots-croisés'; var ExerciseTitle = 'devoir'; var FirstShow = true; var ReadingURL = ''; var PreviousPage = history.length; var CurrBoxElement = null; var NavBar=''; NavBar+='<tr><form name="NavButtons1"><td bgcolor="#800000" align="center">'; NavBar+='<font face="Geneva,Arial" size="-1">'; NavBar+='<input type="button" value="<=" onclick="parent.GoBack()"></input>'; NavBar+='<input type="button" value="un autre verbe" onclick=\'parent.location="modalvb.htm"\'></input>'; NavBar+='<input type="button" value="=>" onclick=\'parent.location="savoir.htm"\'></input>'; NavBar+='</font></td></form></tr>'; if (is.CRAPBrowser){NavBar=ResolveAllURLs(NavBar);} var TitleCode = '<tr><td align="center" valign="middle" bgcolor="#FDE0B6">'; TitleCode += '<font size="+1" face="Geneva,Arial" color="#993366">' + ExerciseTitle + '</font><br />'; TitleCode += '<font size="-1" face="Geneva,Arial" color="#993366">' + ExerciseSubtitle + '<br />'; TitleCode += '</font></td></tr>'; var GridOpener = '<tr><td align="center" valign="middle" bgcolor="#FDE0B6"><table border="1" cellpadding="0" cellspacing="0">'; var GridRowOpener = '<tr>'; var GridRowCloser = '</tr>'; var BlankCell = '<td bgcolor="#000000" width="30" height="30"> </td>'; var LetterOnlyCell = '<td bgcolor="#FFFFFF" width="30" height="30" align="center" valign="middle"><b><font color="#000000">[Letter]</font></b></td>'; var NumLetterCell = '<td bgcolor="#FFFFFF" width="30" height="30" align="center" valign="top" onclick="parent.ShowClue([ClueNum],[x],[y])" style="cursor: pointer; cursor: hand;"><sup><u>'; if (! is.CRAPBrowser){ NumLetterCell += '<a href="javascript:parent.DoNothing()" onclick="parent.ShowClue([ClueNum],[x],[y])">[ClueNum]</a>'; } else{ NumLetterCell += '[ClueNum]'; } NumLetterCell += '</u></sup> <b><font color="#000000">[Letter]</font></b></td>'; var GridCloser = '</table></td></tr>'; var Buttons = '<tr><form name="Buttons[Num]" action=""><td align="center" valign="top" bgcolor="#FDE0B6">'; Buttons += '<font face="Geneva,Arial" color="#ff0000">'; Buttons += '<input type="button" value="Correction" onclick="parent.CheckAnswers()"></input>'; Buttons += '</font></td></form></tr>'; var Buttons1 = ReplaceStuff('[Num]', '1', Buttons); var Buttons2 = ReplaceStuff('[Num]', '2', Buttons); var GetAnswerOpener = '<form name="AnswerForm" action="" onSubmit="return false;">'; var GetAnswer = ' <font size="3"><input type="text" name="[BoxName]" size="[AnsLength]" maxlength="[AnsLength]"></input>'; GetAnswer += ' <input type="button" value="Entrer" '; GetAnswer += 'onClick="parent.EnterAnswer(document.AnswerForm.[BoxName].value,[boolAcross],[AnsLength],[x],[y])"></input>'; GetAnswer += '</font>'; var GetAnswerCloser = '</form>'; function GoBack(){ var BackSkip = history.length - PreviousPage; if (BackSkip > 0){ history.go((BackSkip+1)*-1); } else{ parent.history.back(); } } function BuildExercise(){ var OutString = ''; var Temp = ''; var GridStuff = GridOpener; for (var i=0; i<L.length; i++){ GridStuff += GridRowOpener; for (var j=0; j<L[i].length; j++){ //If the cell is blank, add a black cell if (L[i][j] == ''){ GridStuff += BlankCell; } //else there's a letter there else{ //If there's a clue number, add it if (C[i][j] > 0){ Temp = NumLetterCell; Temp = ReplaceStuff('[ClueNum]', C[i][j], Temp); //Add location info Temp = ReplaceStuff('[x]', i, Temp); Temp = ReplaceStuff('[y]', j, Temp); } //Otherwise add a blank cell else{ Temp = LetterOnlyCell; } //If the cell is already answered, add the letter from the Guess array if (G[i][j] != ''){ Temp = ReplaceStuff('[Letter]', G[i][j], Temp); } //Otherwise, put in a non-breaking space else{ Temp = ReplaceStuff('[Letter]', ' ', Temp); } GridStuff += Temp; } } GridStuff += GridRowCloser; } GridStuff += GridCloser; //Put the final pieces together OutString = GridStuff; BuiltExercise = OutString; } function WriteFeedback(Feedback) { //Build the output string var OutString = ''; OutString += '<html>'; OutString += '<body background="" bgcolor="#FDE0B6" text="#ff0000" link="#0000ff" vlink="#0000cc">'; OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; OutString += NavBar; if (Feedback.length>0){ OutString += '<tr><td bgcolor="#FDE0B6" align="center">'; OutString += '<font face="Geneva,Arial" size="-1" color="#ff0000">'; OutString += Feedback; OutString += '</font></td></tr>' } OutString += '</table></center></body></html>'; 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 += '<html>'; OutString += '<body background="" bgcolor="#FDE0B6" text="#ff0000" link="#0000ff" vlink="#0000cc">'; OutString += '<center><table border="0" cellpadding="5" cellspacing="1" width="85%">'; OutString += TitleCode; OutString += Buttons1; OutString += BuiltExercise; OutString += Buttons2; OutString += BuiltClues; OutString += NavBar; OutString += '</table></center></body></html>'; 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 BuildClue(ClueNum,x,y,Across){ var OutString = ''; if (Across == true){ if (ClueNum >= A.length){ return ''; } if (A[ClueNum] == null){ return ''; } OutString = ClueNum + '. ' + A[ClueNum]; OutString += GetAnswer; OutString = ReplaceStuff('[BoxName]', 'BA'+ClueNum, OutString); //Find out how long the answer is AnsLength = 0; i = x; j = y; while (j<L[i].length){ if (L[i][j] != ''){ AnsLength++; } else{ break; } j++; } OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); OutString = ReplaceStuff('[boolAcross]', 'true', OutString); } else{ if (ClueNum >= D.length){ return ''; } if (D[ClueNum] == null){ return ''; } OutString = ClueNum + '. ' + D[ClueNum]; OutString += GetAnswer; OutString = ReplaceStuff('[BoxName]', 'BD'+ClueNum, OutString); //Find out how long the answer is AnsLength = 0; i = x; j = y; while (i<L.length){ if (L[i][j] != ''){ AnsLength++; } else{ break; } i++; } OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); OutString = ReplaceStuff('[boolAcross]', 'false', OutString); } OutString = ReplaceStuff('[x]', x ,OutString); OutString = ReplaceStuff('[y]', y, OutString); OutString = ReplaceStuff('[FrameName]', 'BottomFrame', OutString); OutString += '<br />'; return OutString; } function ShowClue(ClueNum,x,y){ var OutString = ''; var AnsLength = 0; var i; var j; CurrBoxElement = ClueNum; if (A[ClueNum] != null){ OutString = OutString + 'Horizontalement : ' + ClueNum + '. ' + A[ClueNum]; OutString += GetAnswer; OutString = ReplaceStuff('[BoxName]', 'BA'+ClueNum, OutString); //Find out how long the answer is AnsLength = 0; i = x; j = y; while (j<L[i].length){ if (L[i][j] != ''){ AnsLength++; } else{ break; } j++; } OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); OutString = ReplaceStuff('[boolAcross]', 'true', OutString); } if (D[ClueNum] != null){ if (OutString.length > 0){ OutString += '<br />'; } OutString = OutString + 'Verticalement : ' + ClueNum + '. ' + D[ClueNum]; OutString += GetAnswer; OutString = ReplaceStuff('[BoxName]', 'BD'+ClueNum, OutString); //Find out how long the answer is AnsLength = 0; i = x; j = y; while (i<L.length){ if (L[i][j] != ''){ AnsLength++; } else{ break; } i++; } OutString = ReplaceStuff('[AnsLength]', AnsLength, OutString); OutString = ReplaceStuff('[boolAcross]', 'false', OutString); } OutString = GetAnswerOpener + OutString + GetAnswerCloser; OutString = ReplaceStuff('[x]', x ,OutString); OutString = ReplaceStuff('[y]', y, OutString); OutString = ReplaceStuff('[FrameName]', 'TopFrame', OutString); WriteFeedback(OutString); if (eval('TopFrame.document.AnswerForm.BA' + ClueNum) != null){ eval('TopFrame.document.AnswerForm.BA' + ClueNum).focus(); } else{ if (eval('TopFrame.document.AnswerForm.BD' + ClueNum) != null){ eval('TopFrame.document.AnswerForm.BD' + ClueNum).focus(); } } } function EnterAnswer(Guess,Across,AnsLength,x,y){ Guess = Guess.toUpperCase(); var i=x; var j=y; var Letter = 0; while (Letter < AnsLength){ if (Letter < Guess.length){ G[i][j] = Guess.charAt(Letter); } if (Across == true){ j++; } else{ i++; } Letter++; } BuildExercise(); DisplayExercise(); } function ShowHint(Across,x,y,BoxName){ var i=x; var j=y; var OutString = ''; if (Across==true){ while (j<L[i].length){ if (L[i][j] != ''){ OutString += L[i][j]; if (G[i][j] != L[i][j]){ G[i][j] = L[i][j]; Penalties++; break; } } else{ break; } j++; } } else{ while (i<L.length){ if (L[i][j] != ''){ OutString += L[i][j]; if (G[i][j] != L[i][j]){ G[i][j] = L[i][j]; Penalties++; break; } } else{ break; } i++; } } if (eval(BoxName) != null){ eval(BoxName).value = OutString; } } function ReplaceStuff(Token, Replacement, InString){ var i = InString.indexOf(Token); var FirstBit = ''; var LastBit = ''; while (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; } L = new Array(); L[0] = new Array('','','','','','D','',''); L[1] = new Array('','','D','E','V','E','Z',''); L[2] = new Array('','','','','','V','',''); L[3] = new Array('','','','','D','O','I','S'); L[4] = new Array('','','','','','N','',''); L[5] = new Array('','','D','O','I','S','',''); L[6] = new Array('','','O','','','','',''); L[7] = new Array('D','O','I','V','E','N','T',''); L[8] = new Array('','','T','','','','',''); C = new Array(); C[0] = new Array(0,0,0,0,0,1,0,0); C[1] = new Array(0,0,2,0,0,0,0,0); C[2] = new Array(0,0,0,0,0,0,0,0); C[3] = new Array(0,0,0,0,3,0,0,0); C[4] = new Array(0,0,0,0,0,0,0,0); C[5] = new Array(0,0,4,0,0,0,0,0); C[6] = new Array(0,0,0,0,0,0,0,0); C[7] = new Array(5,0,0,0,0,0,0,0); C[8] = new Array(0,0,0,0,0,0,0,0); G = new Array(); G[0] = new Array('','','','','','','',''); G[1] = new Array('','','','','','','',''); G[2] = new Array('','','','','','','',''); G[3] = new Array('','','','','','','',''); G[4] = new Array('','','','','','','',''); G[5] = new Array('','','','','','','',''); G[6] = new Array('','','','','','','',''); G[7] = new Array('','','','','','','',''); G[8] = new Array('','','','','','','',''); A = new Array(); A[2]='vous'; A[3]='je'; A[4]='tu'; A[5]='ils/elles'; D = new Array(); D[1]='nous'; D[4]='il/elle'; function StartUp(){ BuildExercise(); WriteFeedback(Instructions); DisplayExercise(); } function CheckAnswers(){ var AllCorrect = true; var TotLetters = 0; var CorrectLetters = 0; //Check each letter for (var i=0; i<L.length; i++){ for (var j=0; j<L[i].length; j++){ if (L[i][j] != ''){ TotLetters++; if (G[i][j] != L[i][j]){ G[i][j] = ''; AllCorrect = false; } else{ CorrectLetters++; } } } } var Score = Math.floor(((CorrectLetters-Penalties) * 100)/TotLetters); //Compile the output var Output = ''; if (AllCorrect == true){ Output = Correct + '<br />'; } Output += YourScoreIs + ' ' + Score + '%.<br />'; if (AllCorrect == false){ Output += '<br />' + Incorrect; Penalties++; } BuildExercise(); WriteFeedback(Output); DisplayExercise(); } function DoNothing(){} function Blank(){ return '<html><body>©Half-Baked Software. Loading...</body></html>'; } //--> //]]> </script> </head> <!--<body>Fool those dumb ad-inserting ISPs</body>--> <!--For full XHTML 1.0 compatibility, remove the border and framespacing attributes. These are required for proper display in current browsers, but render the document incompatible. Then, you'll need to add the appropriate Document Type Declaration; use the W3C XHTML 1 frameset DTD.--> <frameset rows="30%,*" framespacing="0" border="0" onload="StartUp()"> <frame src="javascript:parent.Blank()" frameborder="0" name="TopFrame"></frame> <frame src="javascript:parent.Blank()" frameborder="0" name="BottomFrame"></frame> </frameset> </html>