![]() |
Случайная генерация значения двумерного массива
Обратите внимание на два варианта скрипта, в них собственно и вопрос
Код AS3:
Код AS3:
|
Массив таки ДВУ-мерный или всетаки ТРЕХ-мерный?
push это метод массива. У Вас mama это массив, mama[i] это массив, mama[i][i2] — тоже массив? Что тогда означает код mama[i][i2] = true; ? |
Цитата:
Код AS3:
Код:
Что тогда означает код mama[i][i2] = true; ? |
Запись
Код AS3:
Код AS3:
|
Соответственно Вы можете вызвать метод push у этих массивов mama[j].
Но если Вы записываете туда Boolean (т.е. true или false), то как Вы собираетесь вызывать у них метод push? Код AS3:
|
Цитата:
То есть как реализовать Код:
mama[i][i2] = true; |
push добавляет элемент без использования индекса, он просто добавляет элемент за последним.
Цитата:
|
Цитата:
Код AS3:
|
Цитата:
Код AS3:
Код:
1 trueКод AS3:
Код:
1 true |
Вы читаете, что Вам пишут? (ладно хелп не читаете, это ваше дело).
push() добавляет элемент в конец массива. Ему нет дела до того, какое сейчас значение у переменной-итератора цикла i2. Если Вы не делаете push() (а Вы не делаете, когда рэндом не больше 0.7), то ничего и не добавляется. Ничего — означает "и ячейки тоже". Сама собой пустая ячейка не возникнет, флэш не умеет читать Ваши желания. Либо полностью комплектуйте массив ячейками и значениями, либо используйте оператор = (не понимаю, чем Вас это не устраивает). Код AS3:
|
Цитата:
|
Если "хм" означает "ничего не понял, но все равно спасибо", то лучше спрашивайте, что осталось непонятным.
|
Цитата:
Видимо в этом случае лучше использовать "Splice". Добавлено через 6 минут Чтобы не создавать новую ветку - в чем проблема? Код AS3:
Код AS3:
Код:
LiveGame.as, строка 51 1120: Обращение несуществующего свойства mama. |
В чем ошибка?
Код AS3:
Код AS3:
|
В том, что никакой переменной some нет. Вы создаете ее только в блоке, выполняемом по условию. Компилятор не обладает мозгом, чтобы рассмотреть все Ваши варианты условий и выяснить, будет ли создана переменная some в любом случае. Переменная должна быть создана ВНЕ условий, а вот ее значение можно устанавливать внутри условных блоков.
Код AS3:
|
Цитата:
Код AS3:
Возникли новые вопросы) Код AS3:
Код:
TypeError: Error #1010: Термин не определен и не имеет свойств. |
Последнее условие уберите. Мало того что оно бессмысленно, поскольку выполнится всегда (само условие дублирует условия циклов), так еще и при крайних значениях итераторов Вы выходите за границы массива. Попросту говоря, у Вас нет в массиве врагов никаких экземпляров врага по индексам mama[19+1=20][n] или mama[n][26+1=27]. 27 ячеек имеют индексы 0-26, например, а не 1-27. В ячейке 27 нет врага, там undefined или null, а у них нет свойства "живой".
|
Цитата:
Код AS3:
рабочий пример Код AS3:
|
В плотном массиве из 27 элементов - элементы имеют индексы от 0 до 26 включительно. Нумерация элементов всегда с 0 в as3. Не Паскаль, да.
|
Цитата:
|
Вам вроде объяснили. У Вас нет элемента [n][27] и элемента [20][n]. Их нет. 27-й элемент имеет индекс 26. Соответственно все написанные условия приводят к ошибке — Вы обращаетесь к элементу, которого нет. Какими еще словами это объяснять, я не знаю. Предлагаю поспать и перечитать топик.
Я вообще не понял зачем Вам этот огород. Все эти вопросы только для того, чтобы выяснить, есть ли там элемент с индексом, который хочется проверить на живучесть. Вуаля. Код AS3:
Другими словами: Код AS3:
Понять бы еще, чего считает этот счетчик печенок по всему полю))) |
Цитата:
Мне таки было непонятно с массивами..(п) так в начале программы я создавал массивы с границами - Код AS3:
Код AS3:
Из за погрешности в коде массивов и проверки Код AS3:
|
Цитата:
Цитата:
Код AS3:
Цитата:
Добавлено через 2 минуты Цитата:
|
Цитата:
Код AS3:
Код AS3:
Код AS3:
Код:
TypeError: Error #1010: Термин не определен и не имеет свойств. |
Цитата:
И включите отладочную информацию. Вам станет видно, в какой строке проблема. |
Цитата:
Код AS3:
Что касается "отладочной информации", пока не умею. Спасибо. |
Код AS3:
|
Цитата:
Правила игры ЖИзнь Код:
Правила |
Новые проблемы
Столкнулся с новой проблемой, а именно с механикой самой игры. Может кто помочь?
Нужно изменить код, ибо "клетки" ведут себя нелогично main Код AS3:
Код AS3:
|
Ах!!!!!....Проблема Решена!!! эйфория, кайф ))))
Решение: Код который был(вырезка) Код AS3:
Код AS3:
|
1) зацикливается на повторяющихся состояниях
2) ни разу не видел клетку с тремя соседями (по правилам перенаселение это больше трех соседей) 3) продолжают жить непонятные конструкции из одной красной и двух полупрозрачных клеток, которые крутятся вокруг живой. 4) остаются конструкции из только полупрозрачных клеток. Не очень понял, кто это. |
| Часовой пояс GMT +4, время: 05:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.