Оцените код функции.
|
|
scn | Дата: Воскресенье, 16 Июня 2013, 01:59 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Это функция поиска предметов для крафта вещей.
Код function scan_kraft($w1, $w2) { // $w1 - массив с требованиями, $w2 - массив с инвентарем $vs = array(); for ($c = 0; $c <= count($w1); $c++) { for ($i = 0; $i <= count($w2); $i++) { if ($w1[$c] == $w2[$i]) { $vs[] = $w2[$i]; unset($w2[$i]); for ($i = 0; $i <= count($w2); $i++) { if ($w1[$c] == $w2[$i]) { $vs[] = $w2[$i]; unset($w2[$i]); if ($vs == $w1) return true; } } } } } return false; } Пример: $item[2] = array(1,3); $item[id создаваемого предмета] = array([id требуемого предмета], [id требуемого предмета]); $item_list = array(1,2,5,7,8,9); // Список id элементов в инвентаре перса (выборка с mysql)
if (scan_kraft($item[2], $item_list) == false) [не достаточно элементов] else [предмет создается]
Возможно есть какие-то замечания?
|
|
| |
ImNewHere | Дата: Суббота, 20 Июля 2013, 23:24 | Сообщение # 2 |
был не раз
Сейчас нет на сайте
| Оценил , молодец + тебе :-)
С Уважением , участник форума gcup.ru , ImNewHere .
|
|
| |
yarickyarick | Дата: Суббота, 20 Июля 2013, 23:35 | Сообщение # 3 |
Маленький лицемер
Сейчас нет на сайте
| scn, по сути стандартный скрипт, таких куча в интернете, особенно в туториал по модингу майнкрафта.
|
|
| |
ImNewHere | Дата: Суббота, 20 Июля 2013, 23:39 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Ярик , если он сам писал , почему бы и не поощерить ? Человек наверное старался ?
С Уважением , участник форума gcup.ru , ImNewHere .
|
|
| |
yarickyarick | Дата: Суббота, 20 Июля 2013, 23:40 | Сообщение # 5 |
Маленький лицемер
Сейчас нет на сайте
| ImNewHere, ну тут не так много писанины, нечего на люд показывать. Да и оценивать тут нечего, самый обычный скрипт. Показ бы какое-то нестандартное решение, было бы куда интереснее.
|
|
| |
ImNewHere | Дата: Суббота, 20 Июля 2013, 23:42 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Ладно , ладно , я не агрессивный :-) В моей теме поможете ?
С Уважением , участник форума gcup.ru , ImNewHere .
|
|
| |
Нохчи | Дата: Суббота, 20 Июля 2013, 23:48 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Комментаторы хоть пригляделись бы к коду. Автору двойка.
Многие вопросы по Windows отпадут, если посмотреть тут
|
|
| |
DronCode | Дата: Суббота, 20 Июля 2013, 23:58 | Сообщение # 8 |
Best Byte forever
Сейчас нет на сайте
| scn, у меня ненависть к тем кто пишет $i++ вместо ++$i Я не вникал в код, но уже за плохой инкремент ставлю 3. Циклов тоже много, я уверен что это можно решить и проще. В суть задания не вникал.
К тому же bool значения в условии можно и так проверять : Цитата if (!scan_kraft($item[2], $item_list)){ //do... } Вердикт : 3/5
ИМХО.
Занимаюсь программированием на PHP, JavaScript (jQuery), C# (не Unity3d!), Action Script 3.0 (в основном клепаю игрушки под соц сети.), Node.JS Недавно стал изучать Python.
Сообщение отредактировал DronCode - Воскресенье, 21 Июля 2013, 00:00 |
|
| |
jackbv | Дата: Воскресенье, 21 Июля 2013, 00:15 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| scn, написано ужасно, вот мой вариант:
Код
function scan_craft($inv, $req) {
$found = 0;
for($i = 0; $i < count($req); $i++) { for($t = 0; $t < count($inv); $t++) { if($req[$i] == $inv[$t]) { $found++; break; } } }
return ($found == count($req));
}
- Java - PHP, JavaScript - HTML/CSS DeadlySquare Run or Die Super SQUARE
|
|
| |