2015-12-26 7 views
0

Привет, я играю с JavaScript и пытается выбрать случайные изображения.php/javascript случайное число

То, что я на самом деле пытается сделать у меня есть $totalsixes = rand(1,6); в PHP и позволяет сказать, что выбрал 4, то в JavaScript Я хочу, чтобы показать 4 изображения с числом 6 и 2 других йота случайных чисел от 1-5

Вот что я пытался до сих пор:

<?php 
$totalsixes = rand(1,6); 
?> 
<script type="text/javascript"> 
function shuffle(o){ 
    for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] =  o[j], o[j] = x); 
    return o; 
}; 

var imagePaths = shuffle([ 
    "http://website.com/spill2/terninger/1.gif", 
    "http://website.com/spill2/terninger/2.gif", 
    "http://website.com/spill2/terninger/3.gif", 
    "http://website.com/spill2/terninger/4.gif", 
    "http://website.com/spill2/terninger/5.gif", 
    "http://website.com/spill2/terninger/6.gif"]); 

for(var i = 0; i < imagePaths.length; i++) { 
    document.getElementById("randterning" + i).src = imagePaths[i]; 
} 
</script> 

, как вы можете видеть выше $ totalsixes не имеют никакого смысла вообще в коде все же, как я не знаю, как сказать JavaScript, чтобы показать X из шести ($ totalsixes выбрали X), а также я не знаю, как сделать JavaScript выбранным случайным числом для tho другие кубики. Всего всегда шесть кубиков.

Надеюсь, вам было легко понять, что я имел в виду, и, надеюсь, вы можете мне помочь.

Спасибо и извините за мой английский.

экрана выстрел из примера, что я хочу сделать: http://prntscr.com/9iqiag

+0

@PatricNais _ "хотите показать 4 изображения с цифрой 6 и 2 других случайных числа от 1-5" _ Неправильное требование интерпретации? Показать четыре случайных изображения? Что такое ожидаемый результат? – guest271314

+0

Я бы предложил вам использовать JS-библиотеку, такую ​​как [Underscore] (http://underscorejs.org/#shuffle) для вашей цели. – hindmost

+0

Обратите внимание: индексы начинаются с '0', а не 1. Если вы хотите исключить определенные элементы из случайного выбора, сделайте это ** перед **' shuffle', когда вы все еще знаете свой индекс –

ответ

2
<?php $totalsixes = rand(1,6); ?> 

<script type="text/javascript"> 
    function shuffle(o){ 
     for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); 
     return o; 
    } 

    var imagePaths = [ 
     "http://website.com/spill2/terninger/1.gif", 
     "http://website.com/spill2/terninger/2.gif", 
     "http://website.com/spill2/terninger/3.gif", 
     "http://website.com/spill2/terninger/4.gif", 
     "http://website.com/spill2/terninger/5.gif", 
     "http://website.com/spill2/terninger/6.gif"]; 

    var images = []; // <- edit here 
    for(var x= 0 ; x<6; x++){ 
     images[x] = x < <?echo $totalsixes?> ? imagePaths[5] : imagePaths[Math.floor(Math.random() * 5)]; 
       //^ edit here 
    } 
    images = shuffle(images); 

    for(var i = 0; i < imagePaths.length; i++) { 
     document.getElementById("randterning" + i).src = images[i]; 
    } 
</script> 

, если я правильно понял, то результат будет таблица с шестерками 'Рэнда и все остальные являются случайными костьми, но шесть

+0

После использования этого кода я не встаю на любые изображения, даже если правильные пути изображения: http://prntscr.com/9j0r22 –

Смежные вопросы