У меня есть что-то вроде этого, я начал использовать плагин, который я сделал.
Основная функциональность - простая настройка. Сначала я сделал 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>
Повторите то же самое, 5 раз и в другое время, но не более 35 вместо 59? – putvande
ОК, поэтому у вас есть один номер между 1-59. Просто сделайте это 5 раз, а затем сделайте что-то подобное с 35 вместо 59. Вам не нужен 'parseInt', потому что' powerballNumber' уже является числом, а не строкой. В противном случае, каков ваш вопрос? –
Math.random() * 59 возвращает поплавок. Чтобы сделать его int, используйте Math.floor (Math.random() * 59) – pax162