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

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Решение задач, Проблемы с матиматикой))
DarkMaster
сообщение 22.2.2013, 20:07
Сообщение #21


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



не поверите, но оператором printscreen) Описан либо в истории развития либо в помощи по языку скриптов. Кстати галочку BMP не забудьте поставить на вкладке "общие"(левее вкладки "скрипт").


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 22.2.2013, 20:20
Сообщение #22


**

Neophyte
Сообщений: 14
Регистрация: 19.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.817
Возраст: 21



Не, это я понимаю. Не мог найти описание оператора)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.2.2013, 20:23
Сообщение #23


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



добавил команду сохранения копии экрана в файл - 'PrintScreen <handle> <x> <y> <width> <height> <path>'. Первым параметром указывается хэндл рабочего окна, либо 0 - весь экран. Если 'width' или 'height' =0 то берется максимально возможное значение.
set #x findwindow (Ultima Online - Admin)
printscreen #x 0 0 0 0 c:\full client window.jpg


история развития.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 22.2.2013, 21:43
Сообщение #24


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Не знаю зачем вам скрин, но если вы сможете получить весь текст задачи в виде текстовой строки, то считайте что дело в шляпе )


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 23.2.2013, 1:11
Сообщение #25


**

Neophyte
Сообщений: 14
Регистрация: 19.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.817
Возраст: 21



Цитата(Zeleax @ 22.2.2013, 22:43) *

Не знаю зачем вам скрин, но если вы сможете получить весь текст задачи в виде текстовой строки, то считайте что дело в шляпе )


Скрины делал скорее для себя, так как эти окна с задачами появляются крайне редко, а цифры я оказывается нарезал через опу.

В итоге получилось следующее

#1

Код

              // Сценарий поиска изображений в заданной области

              //Поиск первого числа
// Запрос координат от пользователя
set $path C:\images\
set $startX 550  
set $startY 185
set $endX 577  
set $endY 203
set $bmp .bmp


set #s 1
for #step 0 9
// Поиск изображений
   set $check findimage ($startX $startY $endX $endY (C:\images\#step$bmp) %crds 2 70 -1)
// Проверка на наличие
   if $check > 0
      set #size size (%crds)
         for #i 1 #size
// Запись в массив %m[#s 1] числа, %m[#s 2]координаты
            set %m[#s 2] #step
            set %m[#s 1] %crds[#i 1]
            set #s #s + 1                
         end_for
   end_if
end_for

// Присваиваем переменной размер массива                        
set #n size (%m)
hint Отдельное спасибо Zeleax за код сортировки массива
// Сортируем массив
for #i 1 #n
   set #min %m[#i 1]
   set #imin #i
   set #ii #i + 1
   for #j #ii #n
      if %m[#j 1] < #min
         set #min %m[#j 1]
         set #imin #j
      end_if  
   end_for
   // меняем местами минимальный элемент с текущим, используя промежуточную #z
   set #z %m[#i 1]
   set %m[#i 1] %m[#imin 1]
   set %m[#imin 1] #z  
   set #z %m[#i 2]
   set %m[#i 2] %m[#imin 2]
   set %m[#imin 2] #z  
end_for
// Соберем все элементы в одну текстовую строку
set $s // пустая строка
for #i 1 #n
   set $s $s%m[#i 2] //(X= %m[#i 1]) // добавляем каждый элемент в конец строки  
set #a $s
end_for
          

              // Сценарий поиска изображений в заданной области
              //Поиск второго числа
                
// Запрос координат от пользователя
set $path C:\images\
set $startX 677
set $startY 184
set $endX 699
set $endY 199
set $bmp .bmp
//set %cash[1] ввв


set #s 1
for #step 0 9
// Поиск изображений
   set $check findimage ($startX $startY $endX $endY (C:\images\#step$bmp) %crds 2 70 -1)
// Проверка на наличие
   if $check > 0
      set #size size (%crds)
         for #i 1 #size
// Запись в массив %m[#s 1] числа, %m[#s 2]координаты
            set %m[#s 2] #step
            set %m[#s 1] %crds[#i 1]
            set #s #s + 1                
         end_for
   end_if
end_for

// Присваиваем переменной размер массива                        
set #n size (%m)
hint Отдельное спасибо Zeleax за код сортировки массива
// Сортируем массив
for #i 1 #n
   set #min %m[#i 1]
   set #imin #i
   set #ii #i + 1
   for #j #ii #n
      if %m[#j 1] < #min
         set #min %m[#j 1]
         set #imin #j
      end_if  
   end_for
   // меняем местами минимальный элемент с текущим, используя промежуточную #z
   set #z %m[#i 1]
   set %m[#i 1] %m[#imin 1]
   set %m[#imin 1] #z  
   set #z %m[#i 2]
   set %m[#i 2] %m[#imin 2]
   set %m[#imin 2] #z  
end_for
// Соберем все элементы в одну текстовую строку
set $s // пустая строка
for #i 1 #n
   set $s $s%m[#i 2] //(X= %m[#i 1]) // добавляем каждый элемент в конец строки  
end_for
set #f $s
                  //Складываем

set #g #a + #f
//msg Ответ: #g  
end_script



Вот теперь пытаюсь вписать мой результат... Пока безрезультатно.))

PS А если я нарежу знаки(плюс, минус и тд) и закину их в папку с картинками - это бред и они не будут определяться? Просто сколько не играл, постоянно простит только складывать, что меня очень настораживает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.2.2013, 6:40
Сообщение #26


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Просто сколько не играл, постоянно простит только складывать, что меня очень настораживает.

Это сделано скорее всего для слабых в математике. Вычитание сложнее для человека и ошибок больше.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 23.2.2013, 10:53
Сообщение #27


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Цитата
Вот теперь пытаюсь вписать мой результат... Пока безрезультатно.))

Расстояние от последних цифр до поля ввода всегда одинаковое?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 23.2.2013, 14:48
Сообщение #28


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



что то вы со скриптом намудрили: использовали цикл поиска 2 раза, хотя он только 1 раз нужен...


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 23.2.2013, 15:08
Сообщение #29


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Мне кажется тут первый поиск ищет первое число, второй - второе.
Интересно: а числа всегда двухзначные?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.2.2013, 15:41
Сообщение #30


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Интересно: а числа всегда двухзначные?

Это самый правильный вопрос.

Вообще я бы посоветовал сохранить плюсик так же как и цифру и воспользоваться следующей фишкой:
set %arr [ 1 ] "10+12"
set #a %arr [ 1 ]
log #a

Сообщение отредактировал DarkMaster - 23.2.2013, 16:12


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 23.2.2013, 16:03
Сообщение #31


**

Neophyte
Сообщений: 14
Регистрация: 19.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.817
Возраст: 21



Цитата
Расстояние от последних цифр до поля ввода всегда одинаковое?

Да, на сколько я могу судить по тому количеству раз, сколько выскакивало это окно.
Вы, как я догадываюсь, хотите предложить что то типа?
Код

left 100 200 // Координаты поля ввода(взял с потолка)


Если да, то тут у меня возникает вопрос: как вписать мое #g в поле ввода?

Цитата
что то вы со скриптом намудрили: использовали цикл поиска 2 раза, хотя он только 1 раз нужен...

zavas правильно сказал - это сделано для поиска двух чисел. В конце скрипта эти два числа складываются.
Если у вас есть более удобные и/или практичные варианты - с удовольствием выслушаю. (IMG:style_emoticons/default/smile.gif)

Цитата
Интересно: а числа всегда двухзначные?

Да, опять же - на сколько я могу судить.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.2.2013, 16:11
Сообщение #32


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
Если у вас есть более удобные и/или практичные варианты - с удовольствием выслушаю. smile.gif

Цитата
Вообще я бы посоветовал сохранить плюсик так же как и цифру и воспользоваться следующей фишкой:
set %arr [ 1 ] "10+12"
set #a %arr [ 1 ]
log #a


Сообщение отредактировал DarkMaster - 23.2.2013, 16:12


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 23.2.2013, 16:24
Сообщение #33


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Если всегда два числа всегда складываются, тогда берём все числа в массив и складываем два первых элемента массива с двумя последними.
Пока писал DarkMaster уже код выдал.


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 23.2.2013, 16:39
Сообщение #34


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(SHeggI @ 23.2.2013, 17:03) *

Если у вас есть более удобные и/или практичные варианты - с удовольствием выслушаю. (IMG:style_emoticons/default/smile.gif)


Код
Координаты первого числа
set
set
set
set
Координаты второго числа
set
set
set
set
// готовность чисел
set #4islo1 1

:find_4islo
// здесь Ваш скрипт поиска чисел
и начем его так:
if #4islo1 = 1
   то findimage с координатами первого числа
else
   то findimage с координатами второго числа
end_if

//конец
if #4islo1 = 1
   то set #a $s // найденное первое число #a  
   set #4islo1 0  // теперь при повторном поиске проверяем только второе число
   goto find_4islo  // уходим искать снова
esle
   то set #b $s // найденное второе число #b
   set #4islo1 1 // обнуляем поиск первого числа, что бы опять можно было искать
end_if


Как вариант)
Что не ясно - спрашивайте..
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 23.2.2013, 16:51
Сообщение #35


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



set #4islo1 1
это что?


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 23.2.2013, 16:53
Сообщение #36


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(zavas @ 23.2.2013, 17:51) *

set #4islo1 1
это что?

Даже комментарий ведь написал))
Это метка о том, будем ли искать первое число или нет.
Для того что бы использовать один и тот же скрипт поиска чисел на все числа.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 23.2.2013, 17:25
Сообщение #37


**

Neophyte
Сообщений: 14
Регистрация: 19.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.817
Возраст: 21



Вау!)
Спасибо огромное, что так оперативно откликаетесь. Но я пока буду отталкиваться от того, что я уже нагородил.))
Обещаю, что как только добьюсь желаемого результата, попробую ваши варианты. (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 23.2.2013, 23:39
Сообщение #38


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Текст картинки из первого поста замечательно распознался как "24+37="
https://forum.uokit.com/index.php?showtopic=25752

Сообщение отредактировал Zeleax - 24.2.2013, 10:55


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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