| Инвентарь | 
|  | 
| 
| Solomid | Дата: Среда, 23 Октября 2013, 22:51 | Сообщение # 1 |  |   был не раз Сейчас нет на сайте | Я тут на досуге немного подучил php и js вот решил проверить свои знания на практике, решил написать небольшую игру. Реализовал передвижение по массиву вот дело дошло до инвентаря. И тут я в тупике. Было несколько идей, например: циклом while перебирать весь массив т.к в игре мало предметов, но эта система не универсальна и большая нагрузка. Или передавать id предмета в функцию js после чего post запрос в php и запись в массив но в этом случае слишком большая строка для varchar и так же система не универсальна. Люди подскажите хорошую систему которая подойдет как для малой игры так и для большого проекта. Не обязательно выкладывать коды, можно просто объяснить принцип работы и какими средствами его реализовать. Только по подробней (что бы моя глупая голова сразу сообразила что к чему ) (: Надеюсь на вашу помощь. |  |  |  |  | 
| 
| H-O | Дата: Среда, 23 Октября 2013, 22:57 | Сообщение # 2 |  | частый гость Сейчас нет на сайте | Solomid, просто массив инвентаря делай и в каждой ячейке размещай id предмета. Если id != 0 или id > inv[x][y] == 0, то в эту ячейку ничего нельзя класть, если наоборот, то можно.
 Если при наведении нужна информация об объекте то просто проверяй id и по нему информацию пуш в спец. окно.
 А остальное обычным drag & drop.
 |  |  |  |  | 
| 
| Solomid | Дата: Среда, 23 Октября 2013, 23:05 | Сообщение # 3 |  |   был не раз Сейчас нет на сайте | ну в общем идею вроде понял, а как же быть со стаками? Что если например: 2 ключа они должны друг в друга сложиться. |  |  |  |  | 
| 
| H-O | Дата: Среда, 23 Октября 2013, 23:19 | Сообщение # 4 |  | частый гость Сейчас нет на сайте | Solomid, основы основ. В каждом нормальном ЯП есть возможность поочередного назначения переменных, таким образом это будет выглядеть так: inv = {{id, count = 0, 0; id, count = 0, 0;};
 {id, count = 0, 0; id, count = 0, 0;}}
 Примерно так это должно выглядеть, правда нужно учитывать особенности языка.
 |  |  |  |  | 
| 
| Solomid | Дата: Четверг, 24 Октября 2013, 10:43 | Сообщение # 5 |  |   был не раз Сейчас нет на сайте | В общем ситуация такова. У меня есть массив для инвентаря в пхп. Предположим
 
 Код $inv = array (
 'key' => 0,
 'potion' => 0,
 'scrap' => 0
 )
 Есть отдельный скрипт для записи всех данных в бд. Его функционал вкратце: получаем постом данные (где-то координаты, где-то количество хп и т.д.), смотрим какие пришли и их изменяем.
 Вопрос: каким методом (сиречь способом) вернее будет передавать наш массив инвентаря для записи в бд, учитывая, что он изменяется в js скрипте?
 
 
 Сообщение отредактировал Solomid - Четверг, 24 Октября 2013, 10:43 |  |  |  |  | 
| 
| H-O | Дата: Четверг, 24 Октября 2013, 16:48 | Сообщение # 6 |  | частый гость Сейчас нет на сайте | Solomid, я с пхп не особо знаком, но думаю будет правильнее писать массив так Код $inv = array ( (key = 0, potion = 0, scrap = 0), (key = 0, potion = 0, scrap = 0),
 (key = 0, potion = 0, scrap = 0), (key = 0, potion = 0, scrap = 0)
 )
А в общем о твоей проблеме.
 Просто посылай массив и преобразуй его в таблицу бд:
 
 Код № key potion scrap 1   0   0        0
 2   0   0        0
 3   0   0        0
 4   0   0        0
Таким образом первые 2 ячейки имеют координаты x 0 и 1, y 0, а вторые 2 ячейки x 0 и 1, y 1.
 
 
 Сообщение отредактировал H-O - Четверг, 24 Октября 2013, 16:49 |  |  |  |  | 
| 
| Solomid | Дата: Четверг, 24 Октября 2013, 17:14 | Сообщение # 7 |  |   был не раз Сейчас нет на сайте | И тут выходит что на каждого игрока в бд будет создаваться таблица? |  |  |  |  | 
| 
| H-O | Дата: Четверг, 24 Октября 2013, 18:12 | Сообщение # 8 |  | частый гость Сейчас нет на сайте | Solomid, ну, я предложил это как вариант. А уже вам решать, как я или по другому. Сам понимаю, что по таблице на игрока это перебор.
 |  |  |  |  |