webForumDet fria alternativet

kortare och slumpa fram heltal

2 svar · 355 visningar · startad av yador

yadorMedlem sedan mars 2004455 inlägg
#1

1. Kan man göra den här koden kortare än vad den är.
Det är en mycket förminskad funktion så jag är glad över om man kan göra den kortare. Kanske lägga den i en array eller något sånt för den mesta koden upprepar sig ju.

function start()
{
var ett_varde = Math.floor(Math.random()*5)
if (ett_varde == 0)
{
var start=prompt("15+10","?");

if (start == "25")
{
alert("Rätt! " + start + ".");
}
else
{
alert("fel! rätt svar var: 25")
}

if (start == null)
{
alert("Du kan väl iallafall försöka");
}
setTimeout ("start()", 1000);
}
if (ett_varde == 1)
{
var start=prompt("H2O är","?");

if (start == "vatten")
  {
  alert("Rätt! " + start + ".");
  }
  else
  {
  alert("fel! rätt svar var: vatten")
  }

if (start == null)
  {
  alert("Du kan väl iallafall försöka");
  }
setTimeout ("start()", 1000);
}
if (ett_varde == 2)
{
var start=prompt("javascropt är ett namn på en blomma","?");

if (start == "nej")
  {
  alert("Rätt! " + start + ".");
  }
  else
  {
  alert("fel! rätt svar var: nej")
  }

if (start == null)
  {
  alert("Du kan väl iallafall försöka");
  }
setTimeout ("start()", 1000);
}
if (ett_varde == 3)
{
var start=prompt("näsa på engelska","?");

if (start == "nose")
  {
  alert("Rätt! " + start + ".");
  }
  else
  {
  alert("fel! rätt svar var: nose")
  }

if (start == null)
  {
  alert("Du kan väl iallafall försöka");
  }
setTimeout ("start()", 1000);
}
if (ett_varde == 4)
{
var start=prompt("öga","?");

if (start == "eye på engelska är")
  {
  alert("Rätt! " + start + ".");
  }
  else
  {
  alert("fel! rätt svar var: eye")
  }

if (start == null)
  {
  alert("Du kan väl iallafall försöka");
  }
setTimeout ("start()", 1000);
}

2. Hur ser ett sånt script ut som slumpar fram 2 heltal eller flera
och sen slumpar fram villket räknesätt och sedan skriver ut det
och man ska sen fylla i en input och skriva svaret och när man
ska man klickar på enter ska funktionen kolla om det är rätt eller
ej.

Jag är mycket tacksam för svaren
Tack på förhand

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Litet exempel som du säkert kan bygga vidare på:

<script type="text/javascript">
var quiz=[
	{ q:"Näsa på engelska", a:"nose" },
	{ q:"15+20", a:"35" },
	{ q:"Öga på engelska", a:"eye" }
]
function ask(){
	var q=Math.floor(Math.random()*quiz.length);
	alert((prompt(quiz[q].q,"").toLowerCase()==quiz[q].a)?"Rätt":"Fel, rätt svar var '"+quiz[q].a+"'");
}
ask();
</script>
<script type="text/javascript">
var hogstaTal=100;
var maxAntalTal=4;
var raknesett=["+","-"];

var expr=Math.ceil(Math.random()*hogstaTal);
for(var n=1;n<maxAntalTal;n++){
	expr+=raknesett[Math.floor(Math.random()*raknesett.length)]+Math.ceil(Math.random()*hogstaTal);
	if(Math.ceil(Math.random()*maxAntalTal)==maxAntalTal){ break; }
}
</script>

<form onsubmit="alert((eval(expr)==parseInt(this.foo.value))?'Rätt':'Fel'); return false;">
<script type="text/javascript">document.write(expr);</script> = <input type="text" name="foo"/> <input type="submit" value="Rätta"/>
</form>
yadorMedlem sedan mars 2004455 inlägg
#3

Tack Jojoxx
Det var till stor hjälp!

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)