Kai345: optimiert...

Beitrag lesen

[latex]Mae  govannen![/latex]

function quiz() {

var frage    = ["frage1", "frage2", "frage3", "frage4"],
      antwort  = ["antwort1", "antwort2", "antwort3", "antwort4"],
      note     = ["sehr schlecht", "schlecht", "ganz ok", "gut", "sehr gut"],
      richtige = 0;

for(var i = -1; frage[++i]; richtige += (antwort[i] == prompt(frage[i],"")));
  alert(note[richtige]);
}

Mir fehlt generell die Bindung der Fragen und Antworten zueinander (Zwei Arrays, nur verbunden über den Array-Index, was bei größeren  Arrays etwas fehlerträchtig sein kann, z.B. wenn man einen Satz zwischendrin einfügen möchte).

Ich würde es eher so machen:

var richtige = 0, i;  
var daten = [  
  {frage: "frage1", antwort: "antwort1"},  
  {frage: "frage2", antwort: "antwort2"},  
  {frage: "frage3", antwort: "antwort3"},  
  {frage: "frage4", antwort: "antwort4"}  
];  
  
for (i = 0; daten[i]; i++) {  
  richtige += +(daten[i]['antwort'] == prompt(daten[i]['frage'],''));  
  //richtige += +(daten[i].antwort == prompt(daten[i].frage,''));    // alternativ  
}  
alert(richtige);

oder so:

var richtige = 0, i;  
var daten = [  
  ["frage1", "antwort1"],  
  ["frage2", "antwort2"],  
  ["frage3", "antwort3"],  
  ["frage4", "antwort4"]  
];  
  
for (i = 0; daten[i]; i++) {  
  richtige += +(daten[i][1] == prompt(daten[i][0],''));  
}  
alert(richtige);

Cü,

Kai

--
„It's 106 miles to Chicago, we got a full tank of gas, half a pack of cigarettes, it's dark, and we're wearing sunglasses“.
„Hit it!“
Selfzeugs
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?