Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.01.2013, 11:54
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 1  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
По умолчанию проверка массивов в массиве

здраствуйте.
вот моя задача:
есть массив(all_floor), в нём 6 массивов(n1,n2,n3 и т.д.) которые хранят дисплей обжекты, также есть ещё один массив(thought_bot_floor). массив thought_bot_floor имеет точно такие же дисплей обджекты что и один из массивов массива all_floor, но неизвестно какой из них. Нужно просканиковыть массив all_floorи сверить его элементы с thought_bot_floor .
вот что я накидал:
Код AS3:
var thought_bot_floor:Array = new Array
var NUMBER_FLOOR_BOTS:Number = new Number
var gost:Boolean = new Boolean
var all_floor:Array = [n1, n2, n3, n4, n5, n6] 
 
thought_bot_floor = all_floor[Math.floor( Math.random() * all_floor.length )]
for (var n:int; gost=true; n++)
	{
		NUMBER_FLOOR_BOTS ++
		if (thought_bot_floor == all_floor[n])
		{
			gost = true
			trace ("РАВНО!")
		}
	}
(то как я добавляю объекты в массивы n1, n2,n3 и т.д я не показываю, но это есть)
но переменная gost никогда не будет равна true. помогите реализовать мою задачу.

Старый 12.01.2013, 13:29
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 2  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от XMON Посмотреть сообщение
здраствуйте.
вот моя задача:
есть массив(all_floor), в нём 6 массивов(n1,n2,n3 и т.д.) которые хранят дисплей обжекты, также есть ещё один массив(thought_bot_floor). массив thought_bot_floor имеет точно такие же дисплей обджекты что и один из массивов массива all_floor, но неизвестно какой из них. Нужно просканиковыть массив all_floorи сверить его элементы с thought_bot_floor .
вот что я накидал:

Код AS3:
var n1:Array = [1,2,3,4,5,6];
var n2:Array = [7,8,9,10,11,12];
var n3:Array = [13,14,15,16,17,18];
var all_floor:Array = [n1,n2,n3];
 
var thought_bot_floor:Array = [13,14,15,16,17,18];
 
//Цикл будет обходить элементы (массивы) массива all_floor:
for(var iMain:Number = 0; iMain < all_floor.length; iMain++)
{
	//Цикл будет обходить элементы массива all_floor[iMain] (то есть: n1,n2,n3):
	for(var iElement:Number = 0; iElement < all_floor[iMain].length; iElement++)
	{
		//Цикл будет обходить элементы массива thought_bot_floor:
		for(var iSubprime:Number = 0; iSubprime < thought_bot_floor.length; iSubprime++)
		{
			//Если есть похожие цифры (в вашем случае объекты), то информирую о них:
			if(thought_bot_floor[iSubprime] == all_floor[iMain][iElement])
			{
				trace("Однако есть соотвествие:",thought_bot_floor[iSubprime]+'; Индекс массива (у которого все массивы):',iMain);
			}
		}
	}
}
Код AS3:
Однако есть соотвествие: 13; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 14; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 15; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 16; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 17; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 18; Индекс массива (у которого все массивы): 2
Я так понял твою задачу, если я неправильно понял, то извини.


Цитата:
(то как я добавляю объекты в массивы n1, n2,n3 и т.д я не показываю, но это есть)
но переменная gost никогда не будет равна true. помогите реализовать мою задачу.
Это не могу понять, особенно второе предложение.

Старый 12.01.2013, 15:04
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 3  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Ошибка как минимум тут
Цитата:
for (var n:int; gost=true; n++)
Во втором блоке должно быть условие, а у вас присваивание.
Правильным вариантом будет
Цитата:
for (var n:int; gost != true; n++)
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 12.01.2013, 17:15
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 4  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
Dip52, оно самое, спасибо большое!)
даже кое что новое для себя открыл.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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