Просмотр полной версии : Вопрос по массиву
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]);
}
Вопрос заключается в том, почему на выходе во всех строках массива одинаковые значения?
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]);
}
Это вам не Паскаль.
насчет паскалевой записи:
вот такая 'мутная' конструкция тоже работает
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]]);
Обман кругом. Обман и подстава. Ты 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
Способ, честно говоря, кривущий.
создаёшь массив, в качестве индекса в котором используешь массив из двух элементов
вот и точное определение сего курьеза, вывод: такой массив нам не нужен..
Gargantua
07.06.2004, 00:21
Спасибо, господа, ужа разобрался, если интересно, то текст здесь
http://flasher.ru/forum/showthread.php?threadid=59063
Да кстати, я пытаюсь делать игру bejewel (кажется так, смысл если кто не знает - поле 8 на 8 занято фишками 7 цветов; с поля убирается по 3 и больше фишек одного цвета по горизонтали и вертикали; на пустые клетки падают верхние фишки; пустые места сверху занимаются случайными фишками можно перемещать фишки только на 4 соседние клетки; проигрываешь если нет возможности переместить фишку и убрать ряд; выйграть нельзя :) ) Так вот, если кто знает где взять от нее исходник, либо кто может подсказать внятный алгоритм проверки наличия следующего хода, буду очень признателен за помощь. В голову кроме здорового листа с поочередной проверкой всех возможных вариантов не приходит (неизящно...)
можно перемещать фишки только на 4 соседние клетки
а куда их перемещать если все занято, или по занятым? или чего..
Gargantua
07.06.2004, 01:15
в смысле местами менять
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.