Здравствуйте, гость ( Вход | Регистрация )

> Координаты, как элементы массива
pet
сообщение 3.8.2012, 14:11
Сообщение #1


***

Novice
Сообщений: 67
Регистрация: 4.7.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.844



Здравствуйте.
Задача очень тривиальная - перетаскивать итемы по одному из кучи в заданные места. Как аккумулятор был выбран массив, по причине возможного исползования значения счетчика (переменной) в качестве индексов элементов.
Проблема в следующем:
Допустим, я храню координаты в двумерном массиве
Код

// From
set %SourceCoords [1] [1] 111
set %SourceCoords [1] [2] 111

// To
set %DestinationCoords [1] [1] 222
set %DestinationCoords [1] [2] 222
set %DestinationCoords [2] [1] 333
set %DestinationCoords [2] [2] 333

И вот на следующим шаге я попал в тупик. Использование массивов в качестве переменных в команде "Drag", не приводит к нужному результату - команда выполняется без ошибок, но ничего не происходит. Я пришел к выводу, что это из-за отсутствия запятых, разделяющих значения координат:
Код

// From
set %SourceCoords [1] [1] 111
set %SourceCoords [1] [2] 111

// To
set %DestinationCoords [1] [1] 222
set %DestinationCoords [1] [2] 222
set %DestinationCoords [2] [1] 333
set %DestinationCoords [2] [2] 333

// Drag 1 item
drag %SourceCoords [1] %DestinationCoords [1] 1

Проблему можно решить использованием строковой переменной, но мне нужен именно массив. Вставка запятых непосредственно в значения елементов массива, ничего не дала.
Конечный код:
Код

// From
set %SourceCoords [1] [1] 111
set %SourceCoords [1] [2] 111
set %SourceCoords [2] [1] 444
set %SourceCoords [2] [2] 444

// To
set %DestinationCoords [1] [1] 222
set %DestinationCoords [1] [2] 222
set %DestinationCoords [2] [1] 333
set %DestinationCoords [2] [2] 333
set %DestinationCoords [3] [1] 555
set %DestinationCoords [3] [2] 555

set #i 2  // Number of %SC elements
set #j 3 // Number of %DC elements
set #k #j // Temp container
set #n #i // Temp container

// Drag 1 item
repeat #i
   repet #j
      drag %SourceCoords [#i] %DestinationCoords [#k] 1
      set #k #k - 1
  end_repeat
  set #n #n - 1
end_repeat

Буду рад решению данной проблемы либо предложенным альтернативам. Главная цель, поочередный перебор координат мест назначения (куда перетаскивать).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
pet   Координаты, как элементы массива   3.8.2012, 14:11
pet   Все решилось само сабой:) Извеняюсь за флуд   3.8.2012, 14:50
WKnight   Как минимум лишние внутренние скобки set %Destina...   4.8.2012, 3:54
pet   Оп, точно. Привычка. Спасибо за поправку. Там еще ...   5.8.2012, 19:36
WKnight   Используется фича массивов "drag %SourceCoord...   6.8.2012, 4:23
pet   Ого, я даже не знал о ней. Спасибо огромное. Её-то...   6.8.2012, 8:35
pet   Возникла идентичная проблема с Findimage. Массивы ...   8.8.2012, 21:46
Zeleax   Получается, что здесь один элемент массива вместо ...   8.8.2012, 21:49
pet   Спаибо за ответ. Выходит, что даже по одному элеме...   8.8.2012, 21:55
Zeleax   А где же это? Выходит, что даже по одному элемент...   9.8.2012, 20:01
Zeleax   Почему нельзя? Думаю, что можно   8.8.2012, 22:05
pet   Я попробовал, но ничего не вышло.   8.8.2012, 23:21
Zeleax   Покажите код, который не сработал   9.8.2012, 6:54
pet   Покажите код, который не сработал Тот, что выше...   9.8.2012, 19:34
pet   Вы уже знаете потенциальную ошибку? Может не будет...   9.8.2012, 20:39
pet   Вопрос осталься без ответа. Я так понимаю, что нев...   11.8.2012, 17:41
Zeleax   Вопрос осталься без ответа. Я так понимаю, что не...   11.8.2012, 18:34
DarkMaster   Я не тестил. Времени нет. Zeleax что там с массива...   11.8.2012, 18:11
DarkMaster   ну выход простой. присваивать переменным элементы ...   11.8.2012, 18:35
pet   Спасибо друзья большое. Я сомневался в том, что де...   11.8.2012, 19:37
WKnight   fixed   11.8.2012, 20:37
pet   Я надеюсь "пацаны поймут", если я скажу,...   12.8.2012, 13:18
WKnight   :D   13.8.2012, 12:18


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 5.11.2025, 21:38
Designed by Nickostyle