1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| // /!\/!\/!\ version plus rapide du code proposé, mais dont je déconseille l'utilisation, tout comme pour le précédent, en raison de sa complexité temporelle potentiellement/théoriquement à risques /!\/!\/!\
const nb_largCase=50; //largeur case
const nb_hautCase=40; //hauteur case
const nb_nombCaseX=20; //nombre cases x
const nb_nombCaseY=10; //nombre cases y
const nb_nombCaseElem=8; //nombre cases avec élément dessus
const ob_ob_caseElem={}; //cases avec élément dessus
for(let k=0;k<nb_nombCaseElem;k++)
{
while(true)
{
const i=Math.floor(Math.random()*nb_nombCaseX);
const j=Math.floor(Math.random()*nb_nombCaseY);
if(ob_ob_caseElem[i+"_"+j]===undefined)
{
ob_ob_caseElem[i+"_"+j]={i,j,x:i*nb_largCase,y:j*nb_hautCase}; //écrire i:i,j:j pour Internet Explorer
break;
}
}
}
for(const st_i in ob_ob_caseElem)
{
console.log(ob_ob_caseElem[st_i]);
} |
Partager