Пятница, 22 Ноября 2024, 09:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Инвентарь
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, ну, я предложил это как вариант. А уже вам решать, как я или по другому.
Сам понимаю, что по таблице на игрока это перебор.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг