Лотерея / Казино на PHP


Сегодня рассмотрим пример работы программы лотереи или казино (кому как удобно, но это не влияет на суть вопроса - разобраться с массивами и датчиком случайных чисел) на PHP.

Приступим: 

Для начала объявим массив данных в который у нас будут помещаться результирующие числа. Вместе с ним объявим ещё 3 переменные:

  1. Сколько будет чисел
  2. Минимальное число
  3. Максимальное число
<?
$count = 3;
$min = 1;
$max = 9;
$result = array();
?>

Теперь наполним в цикле этот результирующий массив случайными числами. Делать это будем через датчик случайных чисел на PHP. Вызывается он функцией rand(). Данная функция генерирует псевдослучайное число. Почему "псевдослучайное", потому-что оно в любом случаем получено по какому-то алгоритму внутри программы, а следовательно, его можно рассчитать - предугадать. Но все-же принято считать их случайными числами.

Параметрами в функцию rand() отправляются 2 числа. 

  1. Минимальный порог
  2. Максимальный порог

Если параметры не заданы, генерируется абсолютно любое случайное число.

<?
$count = 3;
$min = 1;
$max = 9;
$result = array();

for ($i=0; $i<$count; $i++)
    {
    $result[] = rand($min, $max);
    }

echo '<pre>';
print_r($result);
echo '</pre>';
?>

Вот так, в цикле я заполнил случайными числами массив. Для контроля содержимого массива я использую свой любимы способ для проверки содержания переменных который описал здесь.

Стоит отметить функцию rand($min, $max);. Это и есть наш "гвоздь программы". Тут генерируется само случайное число для нашего казино на PHP. 

Теперь займемся выводом на экран результатов:

<style>
.win {
    width:50px;
    height:90px;
    border:1px solid #3d2b1f;
    text-align: center;
    font-size:52px;
    float:left;
    margin-right:5px;
    padding-top:30px;
}
</style>
<?
$count = 3;
$min = 1;
$max = 9;
$result = array();

for ($i=0; $i<$count; $i++)
    {
    $result[] = rand($min, $max);
    }

for ($i=0; $i<count($result); $i++)
    {
    echo '<div class="win">'.$result[$i].'</div>';
    }
echo '<a href="">Попробовать ещё раз</a>';
?>

Со стилями конечно можно поиграться как угодно, но я, для примера сделал так.

Теперь напишем обработку для случая выигрыша.

<style>
.win {
    width:50px;
    height:90px;
    border:1px solid #3d2b1f;
    text-align: center;
    font-size:52px;
    float:left;
    margin-right:5px;
    padding-top:30px;
}
</style>
<?
$count = 3;
$min = 1;
$max = 9;
$result = array();

for ($i=0; $i<$count; $i++)
    {
    $result[] = rand($min, $max);
    }

for ($i=0; $i<count($result); $i++)
    {
    echo '<div class="win">'.$result[$i].'</div>';
    }
echo '<a href="">Попробовать ещё раз</a>';

echo '<div style="clear:both;"></div>';
if ($result[0]==7 AND $result[1]==7 AND $result[2]==7)
    {
        echo '<p>Ура! Вы выиграли миллион!</p>';
    }
?>

Вот и получили самый простой пример работы лотереи (или казино, повторюсь - кому как удобнее) на PHP на котором четко показан принцип работы лотереи на PHP. В результате мы получили вот что:

 


Тэги:

Комментарии: 1

Прокомментировать »

 
 
Евгений
19.10.2016
 

Как сделать чтобы допустим если угадал 1 загаданное число выиграл 1 рубль, 2 числа угадал тогда выиграл 5 рублей и так далее?

 

Прокомментировать

 
 
Сообщение *
 
Проверочный код *
 
 
 
Яндекс.Метрика