Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Вопрос по массиву (http://www.flasher.ru/forum/showthread.php?t=59059)

Gargantua 06.06.2004 16:45

Вопрос по массиву
 
Господа, есть вот такой кусок кода

matrix = new Array();
for (i=1; i<9; i++) {
for (m=1; m<9; m++) {
matrix[i,m] = random(7)+1;
}
}
for (i=1;i<9;i++) {
trace(matrix[i,1] + "_" + matrix[i,2] + "_" + matrix[i,3] + "_" + matrix[i,4] + "_" + matrix[i,5] + "_" + matrix[i,6] + "_" + matrix[i,7] + "_" + matrix[i,8]);
}

Вопрос заключается в том, почему на выходе во всех строках массива одинаковые значения?

Dindin 06.06.2004 17:17

Код:

matrix = new Array();
for (i=1; i<9; i++) {
        matrix[i] = new Array ();
                for (m=1; m<9; m++) {                       
                        matrix[i][m] = random(7)+1;
}
}
for (i=1;i<9;i++) {
trace(matrix[i]);
}

Это вам не Паскаль.

silin 06.06.2004 22:26

насчет паскалевой записи:
вот такая 'мутная' конструкция тоже работает
matrix = [];
for (i=1; i<9; i++)
for (m=1; m<9; m++)
matrix[[i,m]] = i+"_"+m;

for (i=1; i<9; i++) trace(matrix[[i,1]]);

Dindin 06.06.2004 22:56

Обман кругом. Обман и подстава. Ты Silin, создаёшь массив, в качестве индекса в котором используешь массив из двух элементов.
Код:

matrix = [];
for (i=1; i<9; i++)
for (m=1; m<9; m++)
matrix[[i,m]] = i+"_"+m;
a= new Array (3,3);
b = [4,6];
trace(matrix[a]);
trace(matrix[b]);

выводит:
3_3
4_6

Способ, честно говоря, кривущий.

silin 06.06.2004 23:12

Цитата:

создаёшь массив, в качестве индекса в котором используешь массив из двух элементов
вот и точное определение сего курьеза, вывод: такой массив нам не нужен..

Gargantua 07.06.2004 00:21

Спасибо, господа, ужа разобрался, если интересно, то текст здесь

http://flasher.ru/forum/showthread.php?threadid=59063

Да кстати, я пытаюсь делать игру bejewel (кажется так, смысл если кто не знает - поле 8 на 8 занято фишками 7 цветов; с поля убирается по 3 и больше фишек одного цвета по горизонтали и вертикали; на пустые клетки падают верхние фишки; пустые места сверху занимаются случайными фишками можно перемещать фишки только на 4 соседние клетки; проигрываешь если нет возможности переместить фишку и убрать ряд; выйграть нельзя :) ) Так вот, если кто знает где взять от нее исходник, либо кто может подсказать внятный алгоритм проверки наличия следующего хода, буду очень признателен за помощь. В голову кроме здорового листа с поочередной проверкой всех возможных вариантов не приходит (неизящно...)

silin 07.06.2004 00:35

Цитата:

можно перемещать фишки только на 4 соседние клетки
а куда их перемещать если все занято, или по занятым? или чего..

Gargantua 07.06.2004 01:15

в смысле местами менять


Часовой пояс GMT +4, время: 14:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.