2017-02-18 23 views
-2

Прежде всего, я хочу оценить работу проекта SCIDvsPC. Я знаю, что основной SCID был отменен много лет назад, и разработчик проделал большую работу по расширению его и выполнению своей работы для шахматного поля. В этом 6-м семестре нашего колледжа у нас есть Малый проект. Мы решили запустить проект на Chess Next Move Analyzer, который основан на множестве фильтров и реализует самообучение и машинное обучение.Взаимодействие с элементами GUI приложения Windows

Я изучаю идею проекта за последние 2 месяца. На самом деле нам нужно импортировать несколько игр, определенных на некоторых фильтрах, и читать и анализировать из созданного файла PGN. Например, если пользователь выбирает следующий лучший прогноз, прогнозируемый в соответствии с диапазоном рейтинга 2000-2500, наша программа должна экспортировать и анализировать только файлы PGN, в которых есть только противники только из этого диапазона. Я знаю, что проект может все это сделать, но я смущен тем, как автоматизировать это. Я имею в виду, что мне нужно вручную вводить ходы, а затем нажимать «Создать PGN», но как сделать мою программу, т.е. принимать входные данные от пользователя (например, первые 3 шага), заставлять проект запускать эти ходы (что мне пришлось вручную), а затем сгенерировать файл PGN и сохранить его в папке.

Я занимался сетью о взаимодействии с элементами GUI в Windows (у нас нет проблем с работой с Linux) и узнал о программном обеспечении Microsoft UI Automation, Python, Java и C# и что-то вроде COM. Поддерживает ли программное обеспечение COM или какой-либо из них или у вас уже есть некоторые функции? Пожалуйста, вы можете посоветовать мне это?

Если вас попросят обобщить это, я хочу, чтобы взаимодействовать с элементами GUI, будь то любое приложение. Возьмите «Блокнот» в качестве примера. Предположим, я хочу открыть файл на нем, найти и заменить определенное слово. Теперь я знаю, как это сделать вручную, но когда у меня есть тысячи файлов, мне нужна какая-то программа для этого. У некоторых конкретных программ, таких как SCID в моем случае, есть некоторая функция (бит чтения о COM), предварительно построенный для этого? В какой области языка программирования это входит? Использует ли Linux больше?

+0

Autoit/Autohotkey, если вам действительно нужно автоматизировать элементы GUI. Но было бы проще, если бы вы использовали интерфейс командной строки, если он доступен (возможно, более распространенный в Linux), или в примере с блокнотом, который вы даете в конце, просто читайте/пишите текстовые файлы напрямую. – Richard

ответ

1

В качестве примера возьмите блокнот. Предположим, я хочу открыть файл на нем, найти и заменить определенное слово. Теперь я знаю, как это сделать вручную, но , когда у меня есть более тысячи файлов, мне нужна какая-то программа, чтобы сделать это для меня. У некоторых конкретных программ, таких как SCID в моем случае, есть некоторая функция (бит чтения о COM), предварительно созданный для обработки этого?

  • Ваша ситуация кажется вполне конкретным, так что я сомневаюсь, будет ли вы быть в состоянии найти заранее существующую программу, чтобы сделать это для вас. Значение: вам придется самому закодировать его.

В каком языке языка программирования это входит?

  • Ну, это, вероятно, может быть сделано во многих, многих различных языков программирования. Простой сценарий оболочки мог бы получить пример Notepad, который вы дали.

Использование Linux помогает мне больше?

  • Нет, ваши цели, кажется, довольно достижимо с помощью простого скрипта, то ли написать вам это в Windows, MacOS или Linux дистрибутиве.
1

@ SB87 дал вам полезные подсказки, я хотел бы расширить его ответы.

  • К сожалению, я не думаю вы знаете, что вы говорите. Усиление обучения (лучше, чем самообучение) и машинное обучение не подходят для проекта колледжа. Это на уровне PhD или исследования, подумайте о том, чтобы зайти в университет, даже подумав о чем-либо подобном.

  • UI автоматика возможна, но погрешность и медленность. Если вы хотите это сделать, вы должны написать консольную программу. Вы упомянули что-то о пользовательских вводах, вы хотите, чтобы вы применяли машинное обучение на пользовательских входах клавиатуры мыши? Это не сработает. Для машинного обучения для шахмат требуются сотни и тысячи учебных заданий.

Я думаю, вы должны преуменьшить проект и сосредоточиться на чем-то, что вы можете достичь.