PDA

Просмотр полной версии : трёхмерный массив - способ хранения


cn_snipes
12.04.2011, 22:02
Привет! Есть цель реализовать трёмерную модель кубика Рибика, где каждая ячейка имеет свой цвет. Отсюда родилась потребность в хранении значений цветов.

Пробовал организовать это в "трёхмерном" массиве, однако возникли проблемы:


var coordinats:Array= new Array();
coordinats[0] = new Array();
coordinats[0][0] = new Array();
coordinats[0][0][0] = "c";
coordinats[0][0][8] = "к";

trace (coordinats[0][0][8]); // выводит "к", всё работает...

//но как только я хочу задать значение ячейки другого уровня, скажем

coordinats[4][1][9] = "9";

// то


TypeError: Error #1010: Термин не определен и не имеет свойств.
at main()

есть ли вообще в AS3 способы построения трехмерного массива с помощью класса Array?
Или очевиднее пользоваться другими средствами?
Спасибо.

i.o.
12.04.2011, 22:04
правильно, для coordinats[4] и coordinats[4][1] вы же не создали массив:
coordinats[4] = new Array();
coordinats[4][1] = new Array();

cn_snipes
12.04.2011, 22:14
Благодарю, заработало :)

dimarik
12.04.2011, 23:31
модель кубика Рибика, где каждая ячейка имеет свой цвет.

Скорее там есть набор малых кубиков со сторонами. На вершинах куба -- кубики с тремя цветными сторонами , а на рёбрах-- с двумя. Согласитесь, что уникальная вершина с белой, красной и синей сторонами никак цвет сторон изменить не может. Т.о. мы оперируем не ячейками, а уникальными узлами (26 штук для 3x3x3 кубика Рубика).
И, да, Рубика (http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%B1%D0%B8%D0%BA_%D0%A0%D1%83%D0%B1%D0%B8%D0%BA%D0%B0)

goodguy
13.04.2011, 08:54
У Силина есть интересная реализация кубика Рубика
http://silin.su/#AS3/zod/rubic/bin

Anton Riot
13.04.2011, 13:48
интересная, но глюченая)