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

2 страниц V  1 2 >  
Ответить в эту темуОткрыть новую тему
> Решение задач, Проблемы с матиматикой))
SHeggI
сообщение 19.2.2013, 17:42
Сообщение #1


**

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



Здрасьте!
А подскажите пожалуйста, можно ли заставить UO Oilot заставит решать подобные примеры?
(IMG:http://cs315919.userapi.com/v315919099/5f72/YShC9g2Ipe8.jpg)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 19.2.2013, 19:41
Сообщение #2


*****

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



конечно.
компьютер - это огромный калькулятор. Даже супер-пупер графика - это набор единиц и нолей
Зависит от того, какой результат хочешь получить


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


**

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



О, я с вами полностью согласен.))
Меня интересует, возможно ли средствами одного только UO Pilot решать подобные задачи, вписывать ответ и нажимать кнопку "ОК"?
зы С последним проблем нету))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 19.2.2013, 21:15
Сообщение #4


*********

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



можно


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
artem04321
сообщение 19.2.2013, 23:05
Сообщение #5


**

Neophyte
Сообщений: 33
Регистрация: 4.1.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.627
Возраст: 18



Есть возможность скопировать числа в буфер?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 19.2.2013, 23:35
Сообщение #6


*********

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



Цитата(artem04321 @ 20.2.2013, 0:05) *

Есть возможность скопировать числа в буфер?

Считать с экрана
https://forum.uokit.com/index.php?s=&sh...st&p=167986
Потом записать результат в текстовую строку.

Получится - продолжим

З.Ы.: если просто из переменной скрипта в буфер, то см. set clipboard

Сообщение отредактировал Zeleax - 19.2.2013, 23:36


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


**

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



А не подскажете как? Желательно с примером. А то поискал по форуму, ничего похожего не нашел.((
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 19.2.2013, 23:40
Сообщение #8


*********

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



Цитата(SHeggI @ 20.2.2013, 0:38) *

А не подскажете как? Желательно с примером. А то поискал по форуму, ничего похожего не нашел.((

а ссылочка прям сразу выше над вашим постом


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


**

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



Цитата(Zeleax @ 20.2.2013, 0:40) *

а ссылочка прям сразу выше над вашим постом

Сорри, не заметил сразу. Будем пробовать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 21.2.2013, 20:27
Сообщение #10


**

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



Добрый вечер.
Последовал вашему совету. Очень здоровская штука. Только вот у меня тут проблемы возникли. (IMG:style_emoticons/default/sad.gif)

Совственно сам скрипт, с подстанвкой моих данных:
№1

Код

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

// Запрос координат от пользователя
set $path C:\images\ (Укажите путь к файлам картинок)
set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $bmp .bmp


set #s 1
for #step 0 9
// Поиск изображений
   set $check findimage ($startX $startY $endX $endY (C:\images\#step$bmp) %crds 2 88 -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
msg Ваше число: $s
end_script



Месадж следующий:
(IMG:http://cs315919.userapi.com/v315919099/6289/56p--tlYloY.jpg)

Долго бился, много всего перечитал, но результата ноль...
Тогда решил маленько поэксперементировать. В итоге получилось следующее:

№2

Код

set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $path C:\images\
set %cash[1] 2
set $a findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2 50)
if $a > 0
msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2].
else
msg Изображение не найдено
end_if
end_script


Ответ следующий
(IMG:http://cs315919.userapi.com/v315919099/6290/4QGPQayb9FQ.jpg)

В общем, дальше было много проб и ошибок. В конце концов пришел к следующему результату:
№3

Код

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

// Запрос координат от пользователя
set #startX 14
set #startY 1
set #endX 245
set #endY 103
set $path C:\images\
set %cash[1] 4


set #s 1
for #step 0 9
// Поиск изображений
   set $check findimage (#startX #startY #endX #endY ($path%cash[1].bmp) %crds 2 88 -1)
if $check > 0
  msg Изображение найдено в координатах X= %crds[1 1] Y= %crds[1 2].
else
  msg Изображение не найдено
     end_if  
// Проверка на наличие
   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
msg Ваше число: $s
end_script



msg#1(9 раз) (IMG:style_emoticons/default/smile.gif)
(IMG:http://cs315919.userapi.com/v315919099/6297/diYydj7wo_8.jpg)

msg#2
(IMG:http://cs315919.userapi.com/v315919099/629e/a8Cy-ZBUAbE.jpg)

Если
Код
for #step 0 9

Поменять на
Код
for #step 0 1

То соответственно повторяется только 2 раза, сообщений о найденом изображении тоже два, а число находит 01.
Эксперементировал только с двумя числами: 2 и 4, результат одинаковый во всех четырех случаях.
Также эксперементировал с точностью поиска и погрешностью оттенка - безрезультатно.

Вот такая вот фигня у меня выходит. (IMG:style_emoticons/default/sad.gif)
Подскожите пожалуйста, где я накосячил.))
Обе цифры прилагаются.
Прикрепленный файл  2.bmp ( 390 байт ) Кол-во скачиваний: 427

Прикрепленный файл  4.bmp ( 390 байт ) Кол-во скачиваний: 394


PS Версия пилота 2.32
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 21.2.2013, 20:33
Сообщение #11


*********

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



Ну так в папке C:\images\ у вас должно лежать как минимум 10 картинок с цифрами + еще картинки со знаками (тоже имена в виде чисел, больших 9).
И цикл for нужно сделать на столько раз, сколько файлов будет в папке с картинками. Дорабатывать нужно..

Сообщение отредактировал Zeleax - 21.2.2013, 20:33


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


**

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



Цитата

Ну так в папке C:\images\ у вас должно лежать как минимум 10 картинок с цифрами + еще картинки со знаками (тоже имена в виде чисел, больших 9).
И цикл for нужно сделать на столько раз, сколько файлов будет в папке с картинками. Дорабатывать нужно..


Аа, так вот оно что. (IMG:style_emoticons/default/smile.gif)
Допустим, 10 картинок от 0 до 9 каждая с соответствующим названием + 2 картинки с двух-трех значными числами(а название обязательно должно соответствовать изображенному числу?). Итого получаем 12ть картинок.
А цикл for выходит следующий
Код

for #step 0 11


Я правильно вас понял?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 21.2.2013, 20:54
Сообщение #13


*****

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



название произвольное.
Сценарию всё равно как будет называться файл, по которому искать сходство. Даже если файл будет называться корова, а картинка в файле будет знак +. Это для удобства понимания.
У меня не было знаков, потому и не предусмотрено их использование.


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


***********

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



Да.


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


**

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



Наверное всетаки не из того места у меня руки растут. (IMG:style_emoticons/default/sad.gif)

№1

Код

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

// Запрос координат от пользователя
set #startX 179
set #startY 461
set #endX 197
set #endY 476
set $path C:\images\
set $bmp .bmp


set #s 1
for #step 0 9
// Поиск изображений
   set $check findimage ($startX $startY $endX $endY (C:\images\#step$bmp) %crds 2 88 -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
msg Ваше число: $s
end_script


У меня категорически отказывается искать картинку.
С 14ой строки переходит сразу на 25ую
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 22.2.2013, 6:00
Сообщение #16


***********

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



Значит не нашел.
set #startX 179
set #startY 461
set #endX 197
set #endY 476
$startX $startY $endX $endY
смотрим очень внимательно. Переменные то разные (IMG:style_emoticons/default/smile.gif)


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


**

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



Как я это проглядел - не знаю. (IMG:style_emoticons/default/smile.gif)
Сам бы наверное еще долго бился.
Теперь возникает проблема с правильностью определения. Если картинка называется 10.bmp то он мне и пишет, что мое число 10, хотя на самом деле там 11. Если картинка называется 19.bmp то выдает 19, хотя там все ещё 11.
Обзывал файл "корова" - вообще не определяет число(обиделся наверное).
Вот с этим сейчас борюсь.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
SHeggI
сообщение 22.2.2013, 14:26
Сообщение #18


**

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



Все, разобрался в чем был косяк. Единицы были криво нарезанны.

Блин, счастья то сколько (IMG:style_emoticons/default/smile.gif) Наконец таки я справился))))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 22.2.2013, 19:20
Сообщение #19


*****

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



В итоге скрипт работает?
Находит всю последовательность символов?
Операцию выполняет?


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


**

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



Цитата(zavas @ 22.2.2013, 20:20) *

В итоге скрипт работает?
Находит всю последовательность символов?
Операцию выполняет?

Да, все замечательно работает. Прогнал 15 изображений с разными числами.
Завтра буду пробовать находить 2 числа и складывать их.

PS А как заставить пилот делать скрин? (IMG:style_emoticons/default/mellow.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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