Avatar billede matz Nybegynder
19. august 2008 - 17:10 Der er 2 kommentarer

Påvirke random tal

Hvordan gør man så det genereret "random tal" bliver påvirket af noget andet? Altså sandsynligheden bliver større for at der kommer et 1-tal på den ene siden end den anden?



Eksempel:

Sore sandsynlighed for hjemmehold.

Derfor er sandsynligheden større ved at de får flere 1-taller.

1-0
2-0
3-0
osv... Og udeholdet har så en lavere sandsynlighed?

Sandsynligheden vil jeg beregne via php i en variable.
Avatar billede matz Nybegynder
19. august 2008 - 17:10 #1
koden:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Tilfældigt tal</title>
</head>
<body>

<script type="text/javascript">
var aNotes=["Han skød ved siden af!","Han brændte!"];
var aScore=[0,0];
var iSec=0;
function newScore(){
    var o=document.getElementById("randomscore");
    var iRnd=Math.floor(Math.random()*2);
    var iScore=Math.floor(Math.random()*2);
    var iNote=Math.floor(Math.random()*aNotes.length);

    aScore[iRnd]+=iScore;

    o.firstChild.nodeValue=aScore.join("-");

    if(!iScore){
        document.getElementById("randomnote").appendChild(document.createTextNode(aNotes[iNote]));
    }else{
        document.getElementById("randomnote").appendChild(document.createTextNode("Der blev scoret!"));
    }
    document.getElementById("randomnote").appendChild(document.createElement("br"));

    window.setTimeout("newScore()",(Math.floor(Math.random()*570)+30)*1000);
}

function updateTime(){
    iSec++;
    document.getElementById("timepassed").firstChild.nodeValue=Math.floor(iSec/60)+" min., "+iSec%60+" sek.";
}

function sendScore(){
    window.location.href="saverandom.htm?rnd=45&eh="+aScore.join("-");
}

window.setTimeout("newScore()",(Math.floor(Math.random()*570)+30)*1000);

window.setInterval("updateTime()",1000);

window.setTimeout("sendScore()",900000);
</script>

<div>Resultat: <span id="randomscore">0-0</span> | <span id="timepassed">0 min., 0 sek.</span></div>
<br>
<div id="randomnote"></div>

</body>
</html>
Avatar billede roenving Novice
20. august 2008 - 06:21 #2
-- f.eks. kan du lave din egen random-funktion, du så bruger:

function myRandom(rate){
  return Math.random()*rate;
}

-- og så bruge den i dine funktioner i stedet for Math.random:

    var iRnd = Math.floor( (player=="home" ? myRandom(1) : myRandom(0.7)) *2);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester