Аррива, ребята! В статье инвентарь на css+javascript я рассказывал как можно реализовать инвентарь, я не думал, что вы так быстро наберете так много лайков! Пришлось делать как и обещал крафт по типу как в игре minecraft. Долго думал как это все должно работать, изначально пытался сделать крафт отталкиваясь от одномерного массива inventory = [0,0,0,0,0,0,1,1,1]. Но тогда мне придется учитывать положение элементов в разных ячейках инвентаря, то есть в матрице 3х3 при различных положениях предметов, получается один и тот же рецепт. Поэтому я решил сделать зависимость положений одного предмета от других. То есть перебирая предметы в инвентаре, начиная с первого, записывать в строку его id и положение других предметов ячейках относительно его. Затем полученную строку хешируем, и уже по полученному ключу добавляю предмет, если такой имеется. Использую данный алгоритм, расположив предметы в данном порядке - должны получить меч. Конечно, для вариаций с диагональю, приходится прописывать два