2013-11-02 3 views
-4

Я хочу создать Javascript-код, который может производить 5 номеров между 1-59 и 6-м номером 1-35.Создать случайные номера для игры в лотерею

То, что я до сих пор:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8" > 
<title></title> 
<script type="text/javascript"> 
function powerballNumber() 

{ 
var powerballNumber = (Math.random()*59) +1; 
powerballNumber = parseInt(powerballNumber); 
alert(powerballNumber) 
} 

</script> 
</head> 
<body> 
<form name="powerball"> 

<input type="button" value="Create Powerball Numbers" name="btnSubmit"  onclick="powerballNumber()"> 
</form> 
<br /> 
</body> 

</html> 
+2

Повторите то же самое, 5 раз и в другое время, но не более 35 вместо 59? – putvande

+0

ОК, поэтому у вас есть один номер между 1-59. Просто сделайте это 5 раз, а затем сделайте что-то подобное с 35 вместо 59. Вам не нужен 'parseInt', потому что' powerballNumber' уже является числом, а не строкой. В противном случае, каков ваш вопрос? –

+1

Math.random() * 59 возвращает поплавок. Чтобы сделать его int, используйте Math.floor (Math.random() * 59) – pax162

ответ

1

Вы можете использовать for цикл и использовать массив, чтобы получить это в несколько строк кода:

//init array 
var powerBall = []; 

//do you loop to get 5 numbers 
for (var i = 0; i < 4; i++) { 
//add them to array 
powerBall.push((Math.random()*59) +1); 
} 

//and add to array 6th number 
powerBall.push((Math.random()*35) +1); 

//to access you nubmer use it like this 
alert(powerBall[0]) //from 0 to 6 
0
function getRandomNumbers(r) { 
    if (!(r instanceof Array)) return false; 
    var rv=[]; 
    for (var i=0,m=r.length;i<m;i++) 
    rv.push(Math.floor((Math.random()*r[i]) +1)); 
    return rv; 
} 

function getPowerballNumbers() { 
    return getRandomNumbers([59,59,59,59,59,35]); 
} 

powerballNumbers = getPowerballNumbers(); 

обратный пример:

[50, 44, 6, 11, 29, 14]

+0

Почему-то мой не работает. Можете ли вы указать, что ваш вход? Спасибо – user2948511

+0

@ user2948511 umm, что вы имеете в виду? Последняя строка вызывает вызов функции и присваивает номера переменной 'powerballNumbers' js. Если вы хотите увидеть всплывающее окно, просто сделайте 'alert (powerballNumbers);' после него –

0

У меня есть что-то вроде этого, я начал использовать плагин, который я сделал.

Основная функциональность - простая настройка. Сначала я сделал 2 метода. Один для возврата массива BASE выбора 5 номеров [1-59] и один для получения BASE шестого номера [1-35].

Затем я разработал простой способ, каждый из которых, соответственно, использовать предыдущие методы t сделать базовый переменный массив. Таким образом, чтобы получить основную кирку 5:

var pick5 = getPick5(); 
// return something like [ 2, 5, 9, 15, 35 ] 

От базового массива внутри метода, я могу затем использовать массив параметров для метода, если он будет принят, чтобы добавить номер в базу. Это позволяет некоторым номерам иметь более высокий шанс. Таким образом, я мог бы сделать так, чтобы пользователь мог установить 3 числа в «счастливые числа», скажем 7, 5, 3, в этом порядке. Затем я мог бы создать массив каждого «lucky» и передать его методу, имея способ добавить его в базовый массив, тем самым увеличивая вероятность того, что число будет вытащено. Кроме того, чтобы сделать число «более удачливым», просто увеличьте его количество в массиве.

var pick5 = getPick5(); 
// return something like [ 2, 7, 9, 15, 35 ] 

И, в конце концов, если это все слишком сложно, и вы просто хотите шесть чисел, то просто сделать:

var pick6 = getPicks([ 7, 7, 7, 5, 5, 3 ]); 
// return something like [ 2, 7, 9, 15, 35, 6 ] 
// Notice 6 on the end, it is the "pick1" number, aka, the "red ball number" 

/* Copy and past the first few functions: the rest is for show */ 
 
/* -={ BEGIN COPY }=- */ 
 
function getPick5BaseArray() { 
 
    var a = []; 
 
    for (i=1;i<=59;i++) a.push(i); 
 
    return a; 
 
} 
 

 
function getPick1BaseArray() { 
 
    var a = []; 
 
    for (i=1;i<=35;i++) a.push(i); 
 
    return a; 
 
} 
 

 
function getPick1(araAdd) { 
 
    var araP1B = getPick1BaseArray(); 
 
    if (typeof araAdd == 'object' && Array.isArray(araAdd) && araAdd.length > 0) { 
 
     for (x in araAdd) { 
 
      var aX = araAdd[x], 
 
       i = araP1B.indexOf(aX); 
 
      if (i > -1) araP1B.splice(i, 0, aX); 
 
     } 
 
    } 
 
    var a = Math.floor(Math.random()*araP1B.length); 
 
    return araP1B[a]; 
 
} 
 

 
function getPick5(araAdd) { 
 
    var araP5B = getPick5BaseArray(), 
 
     z = []; 
 
    if (typeof araAdd == 'object' && Array.isArray(araAdd) && araAdd.length > 0) { 
 
     for (x in araAdd) { 
 
      var aX = araAdd[x], 
 
       i = araP5B.indexOf(aX); 
 
      if (i > -1) araP5B.splice(i, 0, aX); 
 
     } 
 
    } 
 
    for (i=0;i<5;i++) { 
 
     var a = Math.floor(Math.random()*araP5B.length), 
 
      b = araP5B[a]; 
 
     while (z.indexOf(b) > -1) { 
 
      a = Math.floor(Math.random()*araP5B.length); 
 
      b = araP5B[a]; 
 
     } 
 
     z.push(b); 
 
    } 
 
    intArraySort(z); 
 
    return z; 
 
} 
 

 
function getPicks(ara5Add, ara1Add) { 
 
    var y = getPick1(ara1Add), 
 
     z = getPick5(ara5Add); 
 
    z.splice(z.length, 0, y) 
 
    return z; 
 
} 
 

 
function intArraySort(ara, aOd) { 
 
    var a = typeof aOd == 'string' ? aOd.toLowerCase() : aOd; 
 
    function sortIntDesc(a, b) { return b-a; } 
 
    function sortIntAsc(a, b) { return a-b; } 
 
    switch (aOd) { 
 
     case 0: 
 
     case 'a': 
 
     case 'ac': 
 
     case 'asc': 
 
     default: 
 
      return ara.sort(sortIntAsc); 
 
     case 1: 
 
     case 'd': 
 
     case 'dc': 
 
     case 'desc': 
 
      return ara.sort(sortIntDesc); 
 
    } 
 
} 
 
/* -={ END COPY }=- */ 
 

 
function setNumbers() { 
 
    var araNums = getPicks(); 
 
    $("tbody td p").each(function(i) { $(this).text(araNums[i]) }); 
 
} 
 

 
$(function() { 
 
    $("html, body").addClass("ui-widget ui-widget-content").css("overflow", "hidden"); 
 
    setNumbers(); 
 
    $("#btnReroll").on("click", setNumbers); 
 
})
html, body, .table { color: #FFF; height: 100%; margin: 0; min-width: 100%; padding: 0; } 
 
.table { display: table; width: 100%; } 
 
.cell { display: table-cell; vertical-align: middle; } 
 
table { 
 
    width: 100%; 
 
} 
 
td { 
 
    padding: .25em .5em; 
 
    text-align: center; 
 
    width: 3em; 
 
} 
 
p { 
 
    margin: 0 auto; 
 
    padding: 0; 
 
} 
 
.whiteball, .powerball { 
 
    height: 2em; 
 
    line-height: 2em; 
 
    width: 2em; 
 
} 
 
.whiteball { 
 
    background: #FFF; 
 
    color: #000; 
 
} 
 
.powerball { 
 
    background: #C31F3A; 
 
    color: #FFF; 
 
} 
 
.ui-button-text-only .ui-button-text { 
 
    font-size: .8em; 
 
    padding: .1em .2em; 
 
} 
 

 
/* Corner radius */ 
 
.ui-corner-all, 
 
.ui-corner-top, 
 
.ui-corner-left, 
 
.ui-corner-tl { 
 
\t border-top-left-radius: 1em; 
 
} 
 
.ui-corner-all, 
 
.ui-corner-top, 
 
.ui-corner-right, 
 
.ui-corner-tr { 
 
\t border-top-right-radius: 1em; 
 
} 
 
.ui-corner-all, 
 
.ui-corner-bottom, 
 
.ui-corner-left, 
 
.ui-corner-bl { 
 
\t border-bottom-left-radius: 1em; 
 
} 
 
.ui-corner-all, 
 
.ui-corner-bottom, 
 
.ui-corner-right, 
 
.ui-corner-br { 
 
\t border-bottom-right-radius: 1em; 
 
}
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/redmond/jquery-ui.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div class="table "> 
 
    <div class="cell ui-widget-header ui-corner-all"> 
 
     <table class=""> 
 
      <thead> 
 
       <tr> 
 
        <td colspan="5"><h2>Your Lucky Powerball Numbers</h2></td> 
 
        <td><button id="btnReroll" type="button">ReRoll</button></td> 
 
       </tr> 
 
      </thead> 
 
      <tbody> 
 
       <tr> 
 
        <td><p class="whiteball ui-corner-all"></p></td> 
 
        <td><p class="whiteball ui-corner-all"></p></td> 
 
        <td><p class="whiteball ui-corner-all"></p></td> 
 
        <td><p class="whiteball ui-corner-all"></p></td> 
 
        <td><p class="whiteball ui-corner-all"></p></td> 
 
        <td><p class="powerball ui-corner-all"></p></td> 
 
       </tr> 
 
      </tbody> 
 
     </table> 
 
    </div> 
 
</div>

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