Что нового

Как организовать перечисление переменных не из одного массива, а из нескольких?

Kalisnik

Эволюция
Сообщения
295
Репутация
63
Например, мне нужно получить цвета определенных пикселей на экране. Координаты пикселей заранее известны и упакованы в массивы. Также отведен отдельный массив для сохранения этих цветов:
Код:
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]

Первый способ огранизовать подстановку переменных в функцию PixelGetColor через обычное прописывание ручками. Может быть есть еще способ два или даже три? :smile: Неплохо смотрится функция For..In..Next, но как организовать ее выполнение для двух, трех массивов одновременно? Или же имеются еще какие-нибудь альтернативы? А то хочется как-то абгрейдить свой стиль письма и сэкономить драгоценное время )) Спасибо.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Kalisnik
Код:
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]
For $i = 0 to UBound($Coordinata_X) - 1
	$ColorSave[$i] = PixelGetColor($Coordinata_X[$i], $Coordinata_Y[$i])
Next

PS: я тебе настоятельно рекомендую научиться пользоваться конференцией и присоединиться к нему. Подобного рода вопросы, по моему мнению, лучше задавать там.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Для размышления: массивы бывают двух- и более мерные...

Код:
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
 
Автор
K

Kalisnik

Эволюция
Сообщения
295
Репутация
63
Yashied сказал(а):
Для размышления: массивы бывают двух- и более мерные...

Код:
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
Ого... а вот такой записи двумерного массива я еще не видел. А можно теперь еще конкретный пример как его прописать для PixelGetColor? )


Добавлено:
Сообщение автоматически объединено:

Kaster сказал(а):
Kalisnik
Код:
Dim Const $Coordinata_X[5] = [1, 2, 4, 8, 16]
Dim Const $Coordinata_Y[5] = [16, 8, 4, 2, 1]
Dim $ColorSave[5]
For $i = 0 to UBound($Coordinata_X) - 1
	$ColorSave[$i] = PixelGetColor($Coordinata_X[$i], $Coordinata_Y[$i])
Next

PS: я тебе настоятельно рекомендую научиться пользоваться конференцией и присоединиться к нему. Подобного рода вопросы, по моему мнению, лучше задавать там.
Вот спасибо! Кучу времени мне сэкономили! Я даже не подозревал что в качестве индекса можно ставить переменную. А к конференции я объязательно присоединюсь!
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Kalisnik [?]
как его прописать для PixelGetColor?
Код:
Dim $XY[5][2] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
Dim $ColorSave[5]
For $i = 0 to UBound($XY, 1) - 1
    $ColorSave[$i] = PixelGetColor($XY[$i][0], $XY[$i][1])
Next
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Проще вообще обойтись одним массивом.

Код:
Dim $XY[5][3] = [[1, 16], [2, 8], [4, 4], [8, 2], [16, 1]]
For $i = 0 to UBound($XY) - 1
    $XY[$i][2] = PixelGetColor($XY[$i][0], $XY[$i][1])
Next
 

FlatX007

Tattoo!
Сообщения
197
Репутация
35
Я думаю такое написание более понятнее ... Насчёт данных не смотрите это из моео проекта ... лень было менять.

Код:
Dim $sMAPS[20][2] = [ _
	["l4d_airport01_greenhouse", "Смерть в воздухе - 1.Теплица"] , _
	["l4d_airport02_offices", "Смерть в воздухе - 2.Кран"], _
	["l4d_airport03_garage", "Смерть в воздухе - 3.Стройка"], _
	["l4d_airport04_terminal", "Смерть в воздухе - 4.Терминал"], _
	["l4d_airport05_runway", "Смерть в воздухе - 5.Взлётная полоса"], _
	["l4d_farm01_hilltop", "Кровавая жатва - 1.Леса"], _
	["l4d_farm02_traintunnel", "Кровавая жатва - 2.Тонель"], _
	["l4d_farm03_bridge", "Кровавая жатва - 3.Мост"], _
	["l4d_farm04_barn", "Кровавая жатва - 4.ЖД станция"], _
	["l4d_farm05_cornfield","Кровавая жатва - 5.Ферма"], _
	["l4d_hospital01_apartment","Нет милосердию - 1.Апартаменты"], _
	["l4d_hospital02_subway", "Нет милосердию - 2.Метро"], _
	["l4d_hospital03_sewers", "Нет милосердию - 3.Канализация"], _
	["l4d_hospital04_interior", "Нет милосердию - 4.Госпиталь"], _
	["l4d_hospital05_rooftop", "Нет милосердию - 5.Крыша"], _
	["l4d_smalltown01_caves", "Похоронный звон - 1.Ограждение"], _
	["l4d_smalltown02_drainage", "Похоронный звон - 2.Водосток"], _
	["l4d_smalltown03_ranchhouse", "Похоронный звон - 3.Церковь"], _
	["l4d_smalltown04_mainstreet", "Похоронный звон - 4.Город"], _
	["l4d_smalltown05_houseboat", "Похоронный звон - 5.Лодочная станция"] ]
 
Верх