Loading...
Оценка сайтов | Первые разработки
Учу php месяц или чуть меньше, написал типа сундуков .
php
   <?php  class sun {   const PRICE_OPEN_1 = 1;   const PRICE_OPEN_2 = 2;   const PRICE_OPEN_3 = 3;   const PRICE_KEY = 5;   const PLAYERS_NUM_ON_ONE_PAGE = 10;    //Узнать цену сундука    public static function get_price_sun($price_open)   {     if ($price_open == 1) {       $price_open = self::PRICE_OPEN_1;     } elseif ($price_open == 2) {       $price_open = self::PRICE_OPEN_2;     } elseif ($price_open == 3) {       $price_open = self::PRICE_OPEN_3;     }     return $price_open;   }    // узнать количество ключей id   public static function get_maykeys($id_user)   {     $sql = 'select maykeys from users where id = ? limit 1';     $sth = db::$pdo->prepare($sql);     $sth->execute([$id_user]);     return $sth->fetch(PDO::FETCH_NUM)[0];   }    // добавить ключ игроку id   public static function set_maykeys($key, $id_user)   {     $sql = 'update users set maykeys = maykeys + ? where id = ? limit 1';     $sth = db::$pdo->prepare($sql);     $sth->execute([$key, $id_user]);   }    // записать приз в базу    public static function set_priz($id_user,$names_sun, $name_sun, $name_priz, $num_priz)   {     $sql = 'insert into users_sun set id_user = ?, num_sun = ?, number_sun = ?, name_priz = ?, num_priz = ? ';     $sth = db::$pdo->prepare($sql);     $sth->execute([$id_user,$names_sun, $name_sun, $name_priz, $num_priz]);   }    // достать призы игрока с базы масcив    public static function get_priz($id_user)   {     $sql = "select * from users_sun where id_user = ? order by id desc limit 10";      $sth = db::$pdo->prepare($sql);      $sth->execute([$id_user]);      return $sth->fetchAll(PDO::FETCH_ASSOC);   }   // узнать общее количество откритых сундуков всех видов сундука или определенное  public static function get_sun_num($name = false) {   $z = "count(*) from users_sun where num_sun = {$name}";   if ( $name === false) {     $z = "count(*) from users_sun";   } $sql = "select $z limit 1"; $sth = db::$pdo->query($sql); return $sth->fetch(PDO::FETCH_NUM)[0]; }    // получить всех игроков с призами с базы которые открыли сундуки  public static function get_part_pack($limit, $start) { $sql = "select * from users_sun  order by id desc limit $start, $limit"; $sth = db::$pdo->query($sql); return $sth->fetchAll(PDO::FETCH_ASSOC); }     //контролер покупки ключа    public static function buy_keys_ctrl()   {     self::set_maykeys(1, ID); // плюс ключь игроку     set_mutagen(-self::PRICE_KEY, ID); // минус мутаген за покупку    }    //контролер начисления награды    public static function award_accrual_ctrl($type, $name_priz, $num_priz)   {     $price_key = self::get_price_sun($type); // цена сундука (для минуса)     self::set_maykeys(-$price_key, ID); // минус ключи       if ($name_priz == 'bucks') {       set_bucks($num_priz, ID);     } if ($name_priz == 'mutagen') {       set_mutagen($num_priz, ID);     } if ($name_priz == 'exp') {       set_exp($num_priz, ID);     } if ($name_priz == 'pancers') {      set_pancers($num_priz, ID);     } if ($name_priz == 'JACKPOT') {       set_mutagen($num_priz, ID);      }   }   }   class sun_model {    public function get()   {       $price_open = [ // цены на сундуки        'sunduk_1' => sun::PRICE_OPEN_1,       'sunduk_2' => sun::PRICE_OPEN_2,       'sunduk_3' => sun::PRICE_OPEN_3     ];       $price_key = sun::PRICE_KEY; //Цена ключа      $key_users = sun::get_maykeys(ID); //количество ключей игрока      $prizes = sun::get_priz(ID);          $count_open = [ // количество открытых сундуков        'count_1' => sun::PRICE_KEY,       'count_2' => sun::get_sun_num(2),       'count_3' => sun::get_sun_num(3)       ];      return [       'count_open' => $count_open,       'prizes' => $prizes,       'price_open' => $price_open,       'price_key' => $price_key,       'key_users' => $key_users,     ];   }    public function history()   {     $pag = new pagin; $p = $pag->start(sun::get_sun_num(), sun::PLAYERS_NUM_ON_ONE_PAGE); $part = sun::get_part_pack($p['limit'], $p['start']); array_renumber($part);  $count_open = [ // количество открытых сундуков     'count_sum' =>sun::get_sun_num(),// общее кол во.       'count_1' => sun::get_sun_num(1),       'count_2' => sun::get_sun_num(2),       'count_3' => sun::get_sun_num(3)       ];  return [   'count_open' => $count_open, 'part' => $part, 'pag' => $pag,     ];   }  }   

________
посл. ред. 16.12.2021 в 22:55; всего 2 раз(а); by 213731682
php
   <?php require_once(ROOT . 'project/internal/core.php'); // грузим ядро  // Названия сундуков  $name_sun = [   '1' => '<span style = "color:rgb(235 207 207)">Обычный сундук</span>',   '2' => '<span style = "color: rgb(146 40 163)">Мифический сундук</span>',   '3' => '<span style = "color:rgb(245 0 0)">Божественный сундук</span>', ];  $open = ['1', '2', '3',];  $type = filter_input(INPUT_GET, 'open'); $key_boy = filter_input(INPUT_GET, 'key');  if (isset($key_boy)) { // если нажата кнопка купить ключь     //если не достаточно мутагена   if (get_mutagen_by_id(ID) < sun::PRICE_KEY) {     $_SESSION['err'] = "Не достаточно мутагена!";     redirect::go()->ruler_cut('key');   } else {      // если достаточно     sun::buy_keys_ctrl(); //контролер покупки ключей      $_SESSION['message'] = "Ключ куплен!";      redirect::go()->ruler_cut('key');   } }  ////////////  if (in_array($type, $open)) {    if (sun::get_maykeys(ID) < sun::get_price_sun($type)) {      $_SESSION['err'] = "Не достаточно ключей";      redirect::go()->ruler_cut('open');   } else {      $r = mt_rand(1, 100); //рандом       //Сундук #1     if ($type == 1) {       // может выпасть        // баксы - 40%       // опыт - 40%       // мутаген - 20%        if ($r <= 40) {         $priz = mt_rand(100, 500);         $name = [           'name' => 'bucks',           'name_public' => '<span style = "color:green">Сигареты',         ];       } elseif ($r <= 80 && $r > 40) {         $priz = mt_rand(500, 1000);         $name = [           'name' => 'exp',           'name_public' => '<span style = "color:yellow">Пиво',         ];       } elseif ($r > 80) {         $priz = mt_rand(1, 10);         $name = [           'name' => 'mutagen',           'name_public' => '<span style = "color:lime">Бутылка водки ',         ];       }     }       // Сундук #2     if ($type == 2) { // если сундук номер 2       // может выпасть        // баксы - 30%       // опыт - 30%       // мутаген - 30%        if ($r <= 30) {         $priz = mt_rand(200, 1000);         $name = [           'name' => 'bucks',           'name_public' => '<span style = "color:green">[B]',         ];       } elseif ($r <= 70 && $r > 30) {         $priz = mt_rand(1000, 2500);         $name = [           'name' => 'exp',           'name_public' => '<span style = "color:yellow">[EXP]',         ];       } elseif ($r > 70) {         $priz = mt_rand(2, 15);         $name = [           'name' => 'mutagen',           'name_public' => '<span style = "color:lime">[M]',         ];       }     }       // Сундук #3     if ($type == 3) { // если сундук номер 3       // может выпасть        // баксы - 30%       // опыт - 30%       // мутаген - 35%       // VIP - 5%        if ($r <= 30) {         $priz = mt_rand(3000, 5000);         $name = [           'name' => 'bucks',           'name_public' => '<span style = "color:green">[B]',         ];       } elseif ($r <= 60 && $r > 30) {         $priz = mt_rand(1500, 2500);         $name = [           'name' => 'exp',           'name_public' => '<span style = "color:yellow">[EXP]',         ];       } elseif ($r > 60 && $r < 95) {         $priz = mt_rand(10, 5000);         $name = [           'name' => 'mutagen',           'name_public' => '<span style = "color:lime">[M]',         ];       } elseif ($r > 95) {         $priz = mt_rand(500, 1000);         $name = [           'name' => 'pancers',           'name_public' => '<span style = "color:blue">[P]',         ];       } elseif ($r = 99) {         $priz = 100000;         $name = [           'name' => 'JACKPOT',           'name_public' => '<span style = "color:red">[M]',         ];       }     }      // запись в базу приз     sun::set_priz(ID, $type,$name_sun[$type],  $name['name_public'], $priz);      // контролер начисления награды     sun::award_accrual_ctrl($type, $name['name'], $priz);      redirect::go()->ruler_cut('open');   } }  view('tpl/cap'); view('tpl/header'); view('tpl/header-enter'); view('sun', (new sun_model)->get()); view('tpl/footer-enter'); view('tpl/footer');   
php
   <div class = "block"> Сундуки </div>   <div class = "fon-tex"> <div>   <img src="<?= public_url("1.png") ?>" width="100" class = ""> </div>   <b style="color:rgb(235 207 207)">Обычный сундук</b><br> <a href="<?= subord_url('sun', 'open=1') ?>" class="atom mt-5">Открыть [K]<?= $price_open["sunduk_1"] ?> </a>  <div>   <small>   баксы - 40%,   опыт - 40%,   мутаген - 20%   </small> </div>   </div>  <div class = "fon-tex"> <div>   <img src="<?= public_url("2.png") ?>" width="100" class = ""> </div>   <b style="color:rgb(146 40 163)">Мифический сундук</b><br> <a href="<?= subord_url('sun', 'open=2') ?>" class="atom mt-5">Открыть [K] <?= $price_open["sunduk_2"] ?></a>  <div>   <small>   баксы - 30%,   опыт - 40%,   мутаген - 30%   </small> </div>   </div>  <div class = "fon-tex">    <div>   <img src="<?= public_url("3.png") ?>" width="100" class = ""> </div> <b style="color:rgb(245 0 0)">Божественный сундук</b><br> <a href="<?= subord_url('sun', 'open=3') ?>" class="atom mt-5">Открыть [K] <?= $price_open["sunduk_3"] ?></a>  <div>   <small>   баксы - 30%,   опыт - 30%,   мутаген - 35%,   панцырь - 5%   LACKPOT - 1%   </small> </div>   </div> <div class = "fon-tex"> У вас: <?= $key_users ?> ключей.<br>  <a href="<?= subord_url('sun','key=by') ?>"class = "atom mt-5";> Купить ключь за <?= $price_key ?> мутагена.    </a> </div>  <div class = "fon-info"><u>Ваша история призов:</u></div>  <?php if ($prizes): ?>  <?php foreach ($prizes as $sun): ?>   <div class="fon-lvl"><small>       Открыт <?= $sun['number_sun'] ?> и  найдено: <?= $sun['name_priz']; ?> <?= $sun['num_priz']; ?></span>      </div></small>      <?php endforeach ?>  <?php else: ?>   <div class="fon-tex"><small> <?php  echo "История еще пустая!"; ?> </div></small>  <?php endif ?> <a href="<?= subord_url('history_sun') ?>"><div class = "fon-tex">Летопись всех игроков </div></a>   
.

Изображение

------
80112_Screenshot_20211214004550851_com.android.chrome.jpg (834.7 Kb)
Скачиваний: 140
Скрин 2

Изображение

------
80113_Screenshot_20211214060703434_com.android.chrome.jpg (939.3 Kb)
Скачиваний: 129
Спасибо, кое-что взял себе .gyy.
popka_slonika , да без проблем , пиши в личку если что. Подскажу по коду своему
Не плохо !
Это за месяц выучил?)
Отличная задумка!
Онлайн: 1
Время:
Gen. 0.1202
(c) Bym.Guru 2010-2026