Обучение/Помощь новичкам | Оцените код
Типа покупка ресурсов в игре . Строго не судите , учу пыху пару месяцев Первый файл Второй Третий
------
80414_Screenshot_20220108204734986_com.android.chrome.jpg (556.5 Kb)
Скачиваний: 101
php
<?php class obmen { public static function r($type) { return package('price-resurs')[$type]; } //узнать сколько добавить ресурса за покупку public static function get_resurs_set($type, $lot_id) { return package('price-resurs')[$type][$lot_id]['set']; } //узнать цену ресурса public static function get_resurs_price($type, $lot_id) { return package('price-resurs')[$type][$lot_id]['mutagen_price']; } //контролер покупки public static function boy_ctr($lot_id, $type) { $q = package('price-resurs')[$type][$lot_id]['mutagen_price']; if (get_mutagen_by_id(ID) >= $q) { if ($type == 'bucks') { $resurs = self::get_resurs_set($type, $lot_id); $mutagen = self::get_resurs_price($type, $lot_id); set_bucks($resurs, ID); //добавить баксы } if ($type == 'metall') { $resurs = self::get_resurs_set($type, $lot_id); $mutagen = self::get_resurs_price($type, $lot_id); set_metal($resurs, ID); //добавить металл } set_mutagen(-$mutagen, ID); //минус мутаген } else { $_SESSION['err'] = 'Не достаточно мутагена!'; } } } class obmen_model { public function get($data) //принимаю масив с контролера { $type = $data['type']; if ($type == 'bucks') { $t = obmen::r('bucks'); } if ($type == 'metall') { $t = obmen::r('metall'); } return [ 't' => $t, 'type' => $data['type'], ]; } } php
<?php require_once(ROOT . 'project/internal/core.php'); $type_default = 'bucks'; $type_perhaps = [ 'bucks', 'metall', ]; $lot_id = filter_input(INPUT_GET, 'lot_id'); $type = filter_input(INPUT_GET, 'p'); if ( ! in_array($type, $type_perhaps)) { $type = $type_default; } //нажата кнопка купить if( !empty($lot_id) ) { obmen::boy_ctr($lot_id,$type); // что бы при перезагркзеи страницы не повторялся код redirect_return('index.php?page=obmen'); } $data = [ 'type' => $type, ]; view('tpl/cap'); view('tpl/header'); view('tpl/header-enter'); view('obmen', (new obmen_model)->get($data)); view('tpl/footer-enter'); view('tpl/footer'); php
<div class="block"> Магазин ресурсов </div> <div class="fon-lvl"> <?php if ($type == 'bucks') : ?> <div class="atom">Баксы</div> <?php else : ?> <a href="<?= subord_url('obmen', 'p=bucks') ?>" class="atom">Баксы</a> <?php endif ?> <?php if ($type == 'metall') : ?> <div class="atom">Металлалом</div> <?php else : ?> <a href="<?= subord_url('obmen', 'p=metall') ?>" class="atom">Металлалом</a> <?php endif ?> </div> <div> <?php foreach ($t as $val) : ?> <div class="fon-tex"> <a href="<?= subord_url('obmen', "p=$type&lot_id=$val[id]" ) ?>"> Купить <?= $val['set'] ?> <?= $val['name'] ?> за <?= $val['mutagen_price'] ?> </a> </div> <?php endforeach ?> </div> ------
Скачиваний: 101
Тут можно было в три строки уложиться
Dofor (08.01.2022 в 20:57)
Тут можно было в три строки уложиться
Тут можно было в три строки уложиться
Говорит человек, который не шарит в начальных моментах https://i.imgur.com/uChZjxG.png
Сам не сильно шарю, но как для нескольких месяцев вполне не плохо 👍
213731682 , у тебя все методы класса obmen статичные, логично было бы сделать его абстрактным - конечно если в планах держать только статик методы, но опять же, класс всегда можно перевести в инстанс
213731682 , public static function r($type) {
никогда не называй методы r , a GG, ZZ, и так далее, проблема в том что никто кроме тебя не знает что делает метод r пока не посмотрит в метод r, это время затратно
никогда не называй методы r , a GG, ZZ, и так далее, проблема в том что никто кроме тебя не знает что делает метод r пока не посмотрит в метод r, это время затратно
Trec80 , Это для теста был назван , назвал так временно
213731682 , у тебя все методы принимают тип , я бы обьявил его, и в конструктор передал бы этот самый тип и ипользовал его через конектс
Trec80 , можешь на моем коде так сделать ?) Как пример , в л.с или сюда же ,буду благодарен
НЕЙМИНГ ССУКА!!! Не obmen а swap!!! ТОЛЬКО на английском!!!
Стр.: 1, 2
