Mega Code Archive

 
Categories / JavaScript DHTML / Development
 

Quiz Program base on Cookie

/* Mastering JavaScript, Premium Edition by James Jaworski  ISBN:078212819X Publisher Sybex CopyRight 2001 */ <HTML> <HEAD> <TITLE>Quiz Program</TITLE> <SCRIPT LANGUAGE="JavaScript"><!-- //Question object function Question() {  this.question=Question.arguments[0]  var n=Question.arguments.length  this.answers = new Array(n-2)  for(var i=1; i<n-1; ++i)   this.answers[i-1]=Question.arguments[i]  this.correctAnswer=Question.arguments[n-1] } function readCookie() {  currentQuestion=0  numberOfQuestions=0  correctAnswers=0  score="None"  cookie=document.cookie  currentQuestion=getNumberValue(cookie,"currentQuestion")  numberOfQuestions=getNumberValue(cookie,"numberOfQuestions")  correctAnswers=getNumberValue(cookie,"correctAnswers")  if(numberOfQuestions>0)   score=Math.round(correctAnswers*100/numberOfQuestions) } function getNumberValue(s,n) {  s=removeBlanks(s)  var pairs=s.split(";")  for(var i=0;i<pairs.length;++i) {   var pairSplit=pairs[i].split("=")   if(pairSplit[0]==n) {    if(pairSplit.length>1) return parseInt(pairSplit[1])    else return 0   }  }  return 0 } function removeBlanks(s) {  var temp=""  for(var i=0;i<s.length;++i) {   var c=s.charAt(i)   if(c!=" ") temp += c  }  return temp } function askNextQuestion() {  document.writeln("<H4 ALIGN='CENTER'>"   +qa[currentQuestion].question+"</H4>")  displayAnswers() } function displayAnswers() {  document.writeln('<FORM NAME="answerForm">')  for(var ii=0;ii<qa[currentQuestion].answers.length;++ii) {   document.writeln('<H4 ALIGN="CENTER">')   document.writeln('<INPUT TYPE="RADIO" NAME="answer"> ')   document.writeln(qa[currentQuestion].answers[ii])   if(ii+1==qa[currentQuestion].answers.length) {    document.writeln('<BR><BR><INPUT TYPE="BUTTON"')    document.writeln('NAME="continue" VALUE="Continue" ')    document.writeln(' onClick="checkAnswers()">')   }   document.writeln('</H4>')  }  document.writeln('</FORM>') } function checkAnswers() {  var numAnswers=qa[currentQuestion].answers.length  var correctAnswer=qa[currentQuestion].correctAnswer  for(var jj=0;jj<numAnswers;++jj) {   if(document.answerForm.elements[jj].checked) {    if(jj==correctAnswer){     correct()      break    }else{      incorrect()      break    }   }   if(jj==numAnswers){    incorrect()    break   }  } } function correct() {  ++currentQuestion  ++numberOfQuestions  ++correctAnswers  updateCookie()  location.reload(true) } function incorrect() {  ++numberOfQuestions  updateCookie()  alert("Incorrect!")  location.reload(true) } function updateCookie() {  document.cookie="currentQuestion="+currentQuestion  document.cookie="numberOfQuestions="+numberOfQuestions  document.cookie="correctAnswers="+correctAnswers } function endQuiz() {  document.cookie="currentQuestion=0"  document.cookie="numberOfQuestions=0"  document.cookie="correctAnswers=0"  document.writeln('<FORM NAME="finishedForm">')  document.write("<H4 ALIGN='CENTER'>")  document.write("Congratulations! You have finished this quiz.")  document.write('<BR><BR><INPUT TYPE="BUTTON" ')  document.writeln('NAME="restart" VALUE="Restart" ')  document.writeln(' onClick="restartQuiz()">')  document.writeln("</H4>")  document.writeln('</FORM>') } function restartQuiz() {  location.reload(true) } // --></SCRIPT> <SCRIPT LANGUAGE="JavaScript"><!-- //Heading displayed on the quiz page pageHeading="History Quiz" //Questions qa = new Array() qa[0] = new Question("Who was the first president of the United States?",  "George Washington",  "Abraham Lincoln",  "Benjamin Franklin",  "Harry Truman",  0) qa[1] = new Question("When did Columbus discover America?",  "1249",  "1942",  "1492",  "1294",  2) qa[2] = new Question("Who commanded the Macedonian army?",  "Napoleon",  "Alexander the Great",  "Cleopatra",  "George Patton",  1) qa[3] = new Question("Where did Davy Crockett lose his life?",  "The Spanish Inquisition",  "The Alamo",  "Miami, Florida",  "On the Oregon Trail",  1) qa[4] = new Question("Who was the first man to walk on the moon?",  "Louis Armstrong",  "Buzz Armstrong",  "Jack Armstrong",  "Neil Armstrong",  3) qa[5] = new Question("Who wrote the <I>Scarlet Letter</I>?",  "Michael Crichton",  "Ernest Hemingway",  "Nathaniel Hawthorne",  "Charles Dickens",  2) qa[6] = new Question("Eli Whitney invented:",  "Mad Cow's Disease",  "the Cotton Gin",  "whisky",  "the automobile",  1) qa[7] = new Question("Who was known as the King of the Fauves?",  "Salvatore Dali",  "Henri Matisse",  "Pablo Picasso",  "Vincent Van Gogh",  1) qa[8] = new Question("Who discovered the force of gravity?",  "Isaac Newton",  "Galileo",  "Copernicus",  "Albert Einstein"  ,0) qa[9] = new Question("Who created HTML?",  "Tim Berners-Lee",  "Marc Andreessen",  "Bill Gates",  "Jim Barksdale",  0) qa[10] = new Question("Leonardo da Vinci was born in Greece.",  "True",  "False",  1) qa[11] = new Question("Louisiana was purchased from France.",  "True",  "False",  0) // --></SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"><!-- readCookie() document.writeln("<H1 ALIGN='CENTER'>"+pageHeading+"</H1>") document.writeln("<P ALIGN='RIGHT'><B>Questions: "  +numberOfQuestions+"<BR>") document.writeln("Correct Answers: "+correctAnswers+"<BR>") document.writeln("Score: "+score+"</B></P>") if(currentQuestion >= qa.length) endQuiz() else askNextQuestion() // --></SCRIPT> </BODY> </HTML>