PDA

Volledige versie bekijken : random getallen


swoei
%Europe/Berlin %634 %2005, 15:13
Ik ben bezig met een sudoku spel te maken, nu moet er in bepaalde vakjes vanaf het begin een getal random gekozen worden...alleen in bepaalde vakjes mag het getal niet vaker voorkomen hoe doe ik dat..ik heb dit tot nu toe

x2 = Math.random()*5;
x2 = Math.floor(x2)+1;

x9 = x2;
x11 = x2;

x23 = Math.random()*5;
x23 = Math.floor(x23)+1;
if(x23 = x2){
x23 = Math.random()*5;
x23 = Math.floor(x23)+1;
}

x20 = Math.random()*5;
x20 = Math.floor(x23)+1;
if(x20 = x2 or x23){
x20 = Math.random()*5;
x20 = Math.floor(x20)+1;
}


}

het probleem is nu dat hij af en toe wel x20 en x2 dezelfde getallen geeft maar dat mag niet volgens deze code mag dat nie..kan iemand mij helpen??

theFlashWizard
%Europe/Berlin %646 %2005, 15:30
ik zou het iets anders aanpakken..
ik zou deze functie erbij zetten:
function makeRandom(min,max){
return Math.floor(Math.random()*(max-min)+min)
}

en hem dan steeds zo aanroepen:
makeRandom(5,10)
dan krijg je random getalleen van 5 t/m 10

helaas snap ik het probleem voorderest niet..
maar mischien wordt dat duidelijker als je je script iets duiderlijk maakt met hetgeen dat ik hierboven uitleg :)

swoei
%Europe/Berlin %650 %2005, 15:37
de bedoeling is simpelweg dat ik op sommige plaatsen niet dezelfde 2 getallen mag krijgen die ik random oproep


function makeRandom(min,max){
return Math.floor(Math.random()*(max-min)+min)
}

x2 = makeRandom(1,5);
x9 = x2
x11 = x2
x20 = makeRandom(1,5);
if(x20 = x2) {
makeRandom(1,5);
}
x23 = makeRandom(1,5);
if( x23= x2, x23 = x20){
makeRandom(1,5);
}

dit heb ik nu maar nu maakt 5x hetzelfde random getal
x2,x20 enz dat zijn de waarden van de vakjes waarin de getallen random worden neergezet

theFlashWizard
%Europe/Berlin %657 %2005, 15:46
function make2Random(){
while(x1 == x2){
x1 = makeRandom(1,5);
x2 = makeRandom(1,5)
}
}

make2Random()
//hier heb je dan alst goed is 2 verschillende random getallen..

Kdoe dit uit het hooft maar zo moet het iig ongeveer..

Dauntless
%Europe/Berlin %662 %2005, 15:54
function make2Random()
{
do
{
x1 = makeRandom(1,5);
x2 = makeRandom(1,5)
} while(x1 == x2);
}
Niet? Anders voert hij die while toch niet uit?

swoei
%Europe/Berlin %672 %2005, 16:08
nee dit heb ik net geprobeerd maar het wil niet werken

theFlashWizard
%Europe/Berlin %699 %2005, 16:47
no offence maar dan doe je het fout.. :P
laat ons dan eens zien hoe je het probeert..