Page 1 of 1
Вот такая вот задача, сам не могу осилить...
Posted: 2007-12-23 11:10:36
by Kynep
Воопщем Уважаемые Знатоки, такая задачка:
Code: Select all
Шард ДРВ, в паке у чара (или в сундуке) лежит допустим 5 кучек руды по 1 штуке, допустим Gold, 2 кучки по 2 штуки, и 3 кучки по 3 штуки. Плюс 5 кучек руды по 1 штуке, допустим Расти, 2 кучки по 2 штуки.
Понятно написал? Внимание вопрос... как их сосчитать, записать в лог в виде: Имя - кол-во? Причем если получится, то желательно из имени убрать цифру количества. Поиск по типу записывает в лог все кучки одного типа, не сумируя их, то есть:
Лежит 5 кучек по одной, в лог пишется:
и так 5 раз. Скажу сразу, пробовал сумировать найденный тип, да он сумирует, но как к нему прибавить кучки другова типа, но той же руды, когда кол-во 2 или 3?
Я понимаю что это бред, зачем мне все это надо... надо братья надо. Жду ваши предложения.
Posted: 2007-12-23 12:34:33
by Grin
Вот жуть то...
есть тип кучи с 1 оре последующие отличаются на 1
то есть все с водится 2-му циклу первый перебирает цвета руды второй типы.
Можно обойтись 1 циклом, так как вего руд мало то можно сделать 1 масив о цветам руд. Далее пробигаем по всем итемам с проверкой их пренодлежности к руде, дальше за исываем соответствено цвету в масив.
Posted: 2007-12-23 12:52:20
by Kynep
Grin wrote:Вот жуть то...
Не говори

Сам в шоке ))) третий день думаю, уже мозг закипел...
Таксс из твоего совета я понял следующее:
Code: Select all
1)делаем 2 массива, один с типами второй с цветами
2)ищем по типу, если находит запускаем поиск по цвету
3)по цвету нашли, плюсуем к переменной kolvo
4)ищем следующий тип, и так далее
Ок, кол-во нашли... как теперь быть с именами? Создавать третий массив с именами и сопостовлять по цвету? Или как по другому?
Posted: 2007-12-23 13:08:56
by Grin
типы линейны масивов не надо...
масиыв нужен только для цветов
можешь и масив названий сделать.
Code: Select all
sub OreCount()
var count = 20
var sum = 0
var type = 0
dim colors[20]
dim names[20]
for var i = 0 to count-1
sum = 0
uo.findtype(-1, colors[i], -1)
while uo.FindCount()
type = uo.Hex2Int(uo.GetGraphic('finditem'))
if (type >= начало) and (type <= конец) then
sum = sum + uo.GetQuantity('finditem')
end if
uo.Ignore('finditem')
wait(10)
uo.findtype(-1, colors[i], -1)
wend
if sum then
uo.Print(names[i]+": "+str(sum))
endif
next
uo.IgnoreRest()
end sub
ну а можно и подругому...
Posted: 2007-12-23 13:17:20
by Kynep
Grin wrote:типы линейны масивов не надо...
масиыв нужен только для цветов
можешь и масив названий сделать.
Code: Select all
sub OreCount()
var count = 20
var sum = 0
var type = 0
dim colors[20]
dim names[20]
for var i = 0 to count-1
sum = 0
uo.findtype(-1, colors[i], -1)
while uo.FindCount()
type = uo.Hex2Int(uo.GetGraphic('finditem'))
if (type >= начало) and (type <= конец) then
sum = sum + uo.GetQuantity('finditem')
end if
uo.Ignore('finditem')
wait(10)
uo.findtype(-1, colors[i], -1)
wend
if sum then
uo.Print(names[i]+": "+str(sum))
endif
next
uo.IgnoreRest()
end sub
ну а можно и подругому...
Хех интерестный подход, особенно с проверкой типов

Спасибо за идею, седня вечерочком буду париться. После полутора лет без инжи, как то тяжело все вспоминать, но потихоньку получается )))
Интерестная фраза... многообещающая

Posted: 2007-12-23 13:22:52
by Grin
тут дело не в знании а в понимании чего надо сделать что бы сосчитать...