Forenkling af koden især ved optælling af points
Jeg har kigget på denne kode, der har været på i et tidligere spørgsmål og synes, at den må kunne forenkles.Det er især når der bliver akkumuleret antal rigtige mv., at jeg har en fornemmelse af, at noget gøres omstændeligt.
Kan det ikke gøres lidt enklere?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
<script type="text/javascript"><!--
function nulstil(){
opg=0;rig=0;pro=0;
P1O=0;P2O=0;
P1R=0;P2R=0;
facit=0;
saveregneart=0;
savetalomraade=0;
document.REGNEOPGAVER.TALOMRAADE.value="";
document.REGNEOPGAVER.TAL1.value="";
document.REGNEOPGAVER.TAL2.value="";
document.REGNEOPGAVER.ANTALOPGAVER.value="0";
document.REGNEOPGAVER.ANTALRIGTIGE.value="0";
document.REGNEOPGAVER.SCOREPROCENT.value="0";
document.REGNEOPGAVER.PLO1.value="0";
document.REGNEOPGAVER.PLO2.value="0";
document.REGNEOPGAVER.PLR1.value="0";
document.REGNEOPGAVER.PLR2.value="0";
RIGTIGE=0;
tjek=-1;
time = 600;
stopCounter();
document.getElementById("MyTime").firstChild.nodeValue = time;
}
var time = 600;
var timerId = false;
function startCounter(){
if (timerId) return;
timerId = setInterval('CountDown();',1000);
}
function stopCounter(){
if (!timerId) return;
clearInterval(timerId);
timerId = false;
}
function CountDown(){
if(time > 0) {
time = time-1;
document.getElementById("MyTime").firstChild.nodeValue = time;
} else {
clearInterval(timerId);
}
}
//--></script>
<style type="text/css">
#kontakt{
font-family:sans-serif;
position:absolute;
left:300px;
}
</style>
</head>
<body bgcolor="#d0ffd0" link="#0000FF" vlink="#0000FF" alink="#0000FF" onload="nulstil()">
<form name="REGNEOPGAVER" style="font-size:medium;font-family:verdana; text-align: center;" action="">
<Center>
<input type="button" value="Vejledning" name="VEJLEDNING">
<input type="button" value="Addition" name="PLUS">
<button onclick="startCounter();return false;" style="cursor:pointer;">Start nedtælling!</button>
<button onclick="stopCounter();return false;" >Stop!</button>
</center>
<br>
<Center><font size = "4"><span id="MyTime">600</span></font>
<table border="0">
<tr><td>Vælg et talområde </td>
<td><input type="button" value="0-10" name="TALA"></td>
<td><input type="button" value="0-20" name="TALB"></td>
</tr>
<tr><td colspan="6" align="center">Du valgte:<input type="text" name="TALOMRAADE" size="6"></td>
</tr>
</table>
<hr>
<table>
<tr><td><input type="text" name="TAL1" size="4"></td></tr>
<tr><td><font face="verdana" size="5"> +</FONT></td></tr>
<tr><td><input type="text" name="TAL2" size="4"></td></tr>
<tr><td><font face="verdana" size="5"> =</FONT></td></tr>
<tr>
<td>
<input type="text" name="RESULTAT" size="6">
<input type="submit" value="TJEK" name="TJEK"></td>
</tr>
</table>
<br><hr>
<table border="1" bordercolor="red">
<tr><td Colspan=5 align=center>Opsummering</td>
</tr>
<tr>
<td align="center">0-10</td>
<td align="center">0-20</td>
</tr>
<tr>
<td><input type="text" name="PLR1" size="1">
<input type="text" name="PLO1" size="1"></td>
<td><input type="text" name="PLR2" size="1">
<input type="text" name="PLO2" size="1"></td>
<TR>
<TD colspan="4" align="left">Antal rigtige, i alt:</td><td><input type="text" name="ANTALRIGTIGE" size="4"></td></tr>
<TR>
<TD colspan="4" align="left">Antal forsøg, i alt:</td><td><input type="text" name="ANTALOPGAVER" size="4"></td></tr>
<TD colspan="4" align="left">Antal rigtige i %, i alt:</td><TD><input type="text" name="SCOREPROCENT" size="4"></td></tr>
<TR>
<td colspan="5" align="center"><input type="button" value="NULSTIL" name="NULSTIL"></td></tr>
</tr>
</table>
<br><hr>
</center>
</form>
<script type="text/javascript">
//Regneart vælges.
document.REGNEOPGAVER.PLUS.onclick=regneart1;
function regneart1(){
document.REGNEOPGAVER.TALOMRAADE.value="";
document.REGNEOPGAVER.TAL1.value="";
document.REGNEOPGAVER.TAL2.value="";
saveregneart="A";
gemregneart();
}
//Regneart gemmes.
saveregneart=0;
function gemregneart(){
Gemregneart=[saveregneart];
}
//Talområde vælges.
document.REGNEOPGAVER.TALA.onclick=talvaerdi1;
savetalomraade=0;
function talvaerdi1(){
document.REGNEOPGAVER.TALOMRAADE.value="0-10";
savetalomraade="1";
Gemtalomraade=[savetalomraade];
Nyopgave();
}
document.REGNEOPGAVER.TALB.onclick=talvaerdi2;
function talvaerdi2(){
document.REGNEOPGAVER.TALOMRAADE.value="0-20";
savetalomraade="2";
Gemtalomraade=[savetalomraade];
Nyopgave();
}
//Regneopgaver sendes til opgavefelter.
function Nyopgave(){
if (typeof Gemregneart == "undefined"){
alert("Klik på Addition!");
return;
}
var RA=Gemregneart;
if (typeof Gemtalomraade == "undefined"){
alert("Vælg et talinterval!");
return;
}
var TO=Gemtalomraade;
var TORA=RA+TO;
if(TORA=="A1")Plus1();
if(TORA=="A2")Plus2();
document.REGNEOPGAVER.RESULTAT.focus(); // Stiller cursor i felt
}
//Plusopgaver genereres.
function Plus1(){
var a=Math.round(Math.random()*10);
document.REGNEOPGAVER.TAL1.value=a;
var b=Math.round(Math.random()*10);
document.REGNEOPGAVER.TAL2.value=b;
facitgem();
}
function Plus2(){
var a=Math.round(Math.random()*20);
document.REGNEOPGAVER.TAL1.value=a;
var b=Math.round(Math.random()*20);
document.REGNEOPGAVER.TAL2.value=b;
facitgem();
}
//Facit gemmes.
facit=0;
function facitgem(){
var x=parseInt(document.REGNEOPGAVER.TAL1.value);
var y=parseInt(document.REGNEOPGAVER.TAL2.value);
if(Gemregneart=="A")
facit=x+y;
Facit=[facit];
}
var svarAry = [
"Flot klaret!",
"Du er bare smaddergod til at regne!",
"Det er sådan man regner!",
"yes, du fik den!",
"Du gjorde det igen!",
"Lige præcis!",
"Hvor får du det fra, du kan bare det dér med at regne!",
"Netop, det er sådan det skal gøres!",
"Mon ikke du bliver regnelærer, når du bliver voksen!",
"Du har vist talent for at regne!",
"Rigtigt, men kan du gøre det én gang til!",
"Kan du virkelig blive ved med at regne rigtigt?",
"Du er dygtig!",
"Rigtigt igen - er der noget du ikke kan regne?",
]
//Resultat tjekkes og svar gives.
document.REGNEOPGAVER.TJEK.onclick=Tjek;
function Tjek(){
var Resultat=document.REGNEOPGAVER.RESULTAT.value;
if(Resultat==""){
window.alert("Sådan lærer du da ikke at regne!");
} else {
if(Facit==Resultat){
window.alert(svarAry[parseInt(Math.random()*svarAry.length)]+" - klik OK og få et nyt regnestykke!");
scorerigtige();
} else {
window.alert("Næsten rigtigt - men du får et nyt stykke!");
}
facit=0;
document.REGNEOPGAVER.RESULTAT.value="";
Nyopgave();
optaelling();
procent();
}
return false;
}
document.REGNEOPGAVER.onsubmit = function(){
alert("submit");
return false;
}
//Opsummering Antal opgaver
opg=0;
function optaelling(){
opg=opg+1;
OPGAVER=[opg];
if(OPGAVER==0){
document.REGNEOPGAVER.ANTALOPGAVER.value="0";}
else{
document.REGNEOPGAVER.ANTALOPGAVER.value=OPGAVER;}
opgaver2();
}
//Opsummering Antal rigtige opgaver
rig=0;
function scorerigtige(){
rig=rig+1;
RIGTIGE=[rig];
if(RIGTIGE==0){
document.REGNEOPGAVER.ANTALRIGTIGE.value="0";}
else{
document.REGNEOPGAVER.ANTALRIGTIGE.value=RIGTIGE;}
rigtige2();
}
//opsummering beregning af procent af rigte
pro=0
function procent(){
var P1=document.REGNEOPGAVER.ANTALOPGAVER.value;
var P2=document.REGNEOPGAVER.ANTALRIGTIGE.value;
pro=P2/P1*100;
pro=pro*100;
pro=Math.round(pro);
pro=pro/100;
PROCENT=[pro];
document.REGNEOPGAVER.SCOREPROCENT.value=PROCENT;
}
//Antal opgaver i alt
antalopgaver=0;
function opgaver2(){
var antalopgaver=antalopgaver+1;
Antalopgaver=[antalopgaver];
var RA=Gemregneart;
var TO=Gemtalomraade;
var TORA=RA+TO;
if(TORA=="A1")PO1();
if(TORA=="A2")PO2();
}
P1O=0;
function PO1(){
P1O=P1O+1;
var PL1O=[P1O];
if(PL1O==0){
document.REGNEOPGAVER.PLO1.value="0";}
else{
document.REGNEOPGAVER.PLO1.value=PL1O;}
}
P2O=0;
function PO2(){
P2O=P2O+1;
var PL2O=[P2O];
if(PL2O==0){
document.REGNEOPGAVER.PLO2.value="0";}
else{
document.REGNEOPGAVER.PLO2.value=PL2O;}
}
//Antal rigtige, i alt
function rigtige2(){
var RA=Gemregneart;
var TO=Gemtalomraade;
var TORA=RA+TO;
if(TORA=="A1")PR1();
if(TORA=="A2")PR2();
}
P1R=0;
function PR1(){
P1R=P1R+1;
var PL1R=[P1R];
if(PL1R==0){
document.REGNEOPGAVER.PLR1.value="0";}
else{
document.REGNEOPGAVER.PLR1.value=PL1R;}
}
P2R=0;
function PR2(){
P2R=P2R+1;
var PL2R=[P2R];
if(PL2R==0){
document.REGNEOPGAVER.PLR2.value="0";}
else{
document.REGNEOPGAVER.PLR2.value=PL2R;}
}
//Nulstil score.
document.REGNEOPGAVER.NULSTIL.onclick=nulstil;
</script>
</body>
</html>