Batch скрипты для работы с popeye


В разделе popeye я писала в общем о программе, ее преимуществах и недостатках. А теперь – о некоторых практических вещах по работе с popeye. На этой странице я хочу показать 2-ой метод (из 2-х методов, которые упоминала в основном разделе) работы с popeye

Работа с Popeye с использованием batch-скриптов

Batch-cкрипт – это набор команд, которые выполняются последовательно одна за другой, помещенный в один файл, который называется каммандный файл. Вы можете использовать текстовый редактор типа Notepad для создания командного файла, но сохранить его надо с типом “Все файлы” и с любым именем, но обязательным расширением .bat

Сейчас я покажу 3 примера скриптов. Вы можете скачать и использовать любой из них. Коротко обо всех:

  • Пример 1 запускает popeye циклически: открывает командное окно (cmd-окно), запускает popeye, ждет задачу на вход для решения, решает, показывает результат на экране, спрашивает, хотите ли решать следующую, запускается снова, решает… итд. Преимущества этого метода в том, что popeye-окно не закрывается после окончания решения, а также Вы можете использовать опцию [PASTE]- подставить скопированное (нажать правую кнопку мышки – появится меню, в котором есть этот вариант) для ввода Вашей нотации из другого файла.
  • Пример 2 делает почти то же, что и Пример 1, но он не показывает результаты на экране, а записывает их в текстовый файл. По окончании процесса решения Вы можете открыть этот файл любым текстовым редактором (например – Notepad) и увидеть Ваше решение. Дополнительное преимущество здесь в том, что Вы не потеряете часть решения в случае, если оно слишком длинное для cmd-окна. Также, текстовый файл более удобен для редактирования и копировани решения.
  • Пример 3 – комбинация Примеров 1 и 2. Он выдает решение на экран и параллельно пишет в файл. По окончании решения скрипт запускает текстовый редактор Notepad, который покажет Ваше решение в режиме редактирования. В случае, если Вы остановите процесс решения раньше, чем он завершился, – часть решения, которая уже найдена, будет показана редактором Notepad. Но, чтобы это работало, Вам нужно скачать еще одну маленькую программку дополнительно (я ее выкладываю для копирования в части Пример 3)

Важный момент!! – в примерах я предполагаю, что Ваш выполняемый файл для работы с popeye называется py.exe и находится в директории C:\PY-459\ !!! Вы можете использовать свою директорию и свое имя программы (например, pywin64 или pywin32). Поменяйте все имена, написанные красным, на те, которые используете Вы!! Как, например, Вы можете использовать файл pywin64.exe для запуска popeye, или директорию вида C:\Program Files\Popeye\

Example 1

Скопируйте файл со скриптом в виде zip-архива – py-script1.zip, распакуйте из архива файл py-script.bat на свой десктоп. Для распаковки архива нажмите на него правой кнопкой мышки – получите меню вида:

Выберите второй вариант – Extract files… с помощью левой кнопки мышки. Вам будет нужно указать директорию, куда распаковывать. Используйте Desktop, как на картинке внизу, и нажмите OK.

Теперь у Вас на десктопе есть файл со скриптом с именем py-script, как на моем примере:

Вам не нужно делать никаких изменений со скриптом, если Вы используете для popeye директорию C:\PY-459 и имя Вашей программы для запуска popeye py.exe. Если же нет – то Вам нужно редактировать скрипт. Для этого нажмите иконку py-script1 правой кнопкой мышки. Вы увидете меню, в котором надо выбрать второй вариант – EDIT:

Левой кнопкой мышки выберите EDIT. Откроется текстовый редактор Notepad со следующими командами внутри:

Вот команды, которые показывает Ваш Notepad:

@echo off

cd C:\PY-459

:label_start

py

set /p end=Press ENTER to continue!

if “%end%”==”” (goto label_start) else (goto :eof)

Пожалуйста, отредактируйте файл в Notepad, заменяя директорию C:\PY-459 на ту, которую используете Вы для popeye и поменяйте имя запускаемой программы с py на pywin32 или pywin64 или какое-то еще имя, которое используете Вы. После редактирования используйте меню File – вариант SAVE. И закройте Notepad. Теперь Вы можете просто запускать скрипт!! Используйте двойное нажатие на иконку скрипта левой кнопкой мышки, как в случае с любой другой программой. Вы увидете экранчик popeye и программу, ожидающую ввода данных (как обычно).

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

по окончании ввода нотации нажмите клавишу ввода – [ENTER]. Вы получите подобный результат:

Ваше решение – на экране, а скрипт ждет Вашего следующего действия. Вы видете фразу: Press ENTER to continue! Если Вы нажмете клавишу ввода – ENTER – программа запускается снова и ждет Вашей следующей нотации для решения:

Теперь рассмотрим второй способ ввода нотации – копирование ее из другого источника (файла, письма…). Например, в каком-то файле у меня есть такая нотация для задачи:

BeginProblem

Stipulation h#2

Pieces White Kh4 Rf5 Rg4 Bh2 Bh1

Black Kb6 Qa4 Ra2 Bd7 Sf4

EndProblem

Я могу сделать копию всей нотации – COPY (ctrl_c) всех строчек и подставить скопированное – PASTE – в окно с popeye. Для PASTE в окне popeye нажмите правую кнопку мышки и выберите вариант PASTE из полученного меню:

В случае с моей нотацией, показанной ранее, получилось так:

Теперь нажмите клавишу [ENTER] – и программа начнет решать. Полученный результат решения выглядит так:

В конце решения скрипт снова спрашивает, хотите ли продолжить работу: Press ENTER to continue! Если Вы нажмете клавишу [ENTER] – программа запускается снова и ждет следующую задачу. Иначе, для завершения работы и выхода, Вы можете нажать любой символ на клавиатуре и [ENTER] после:

В примере наверху я использую букву “n” . Окошко закроется, как только Вы нажмете теперь [ENTER]. Другой вариант выхода – закрыть окно стандартным способом, нажав крести [x] в правом верхнем углу:


Пример 2

Другой пример – на сохранение результатов решения в файле. Скачайте скрипт в zip-архиве py-script2. Раскройте архив и положите файл py-script на Ваш десктоп также, как делали в Примере 1. Вы можете сразу запускать этот скрипт, если Ваша программа popeye находится в директории C:\PY-459 и выполняемый файл называется py.exe. Иначе Вам нужно редактировать файл, как описано в Примере 1 и поменять изменить слова, которые здесь показаны красным:

cd C:\PY-459

:label_start

echo Running popeye… input your problem here!

py > my-result.txt start

Notepad my-result.txt

set /p end=Press ENTER to continue!

if “%end%”==”” (goto label_start) else (goto :eof)

Поменяйте окрашенные красным имена на те, которые используете Вы, если popeye у Вас находится в другой директории (не в C:\PY-459) и если отличается имя запускаемого файла (не py.exe). my-result.txt – это имя файла, в котором будут сохранены Ваши результаты. Вы можете поменять его на любое другое, но с расширением .txt. Сохраните файл после редактирования. Теперь Вы можете запускать скрипт py-script2 со своего Десктопа. Как обычно, откроется окно, запуститься popeye и будет ожидать Вашего ввода данных для решения. Введите задачу вручную или используя опцию PASTE (подставить скопированное), как показано в Примере 1. Но в этот раз Вы не увидете на экране результаты работы popeye, а по окончании решения запустится текстовый редактор Notepad и покажет файл my-result.txt, где будет Ваше решение.


Пример 3

И более сложный пример (скрипт, который я чаще использую сама): Для использования этого скрипта Вам нужно дополнительно скачать маленькую утилитку(программку) – mtee. Нажмите на mtee.zip для скачивания. Распакуйте архив с mtee в ту же директорию, где у Вас программа popeye. Потом скачайте архив со скриптом – py-script.zip. Распакуйте архив – положите файл со скриптом на свой десктоп, как показано в Примере 1. Теперь у Вас на Десктопе есть иконка с именем py-script. Вам нужно отредактировать этот файл в случае, если Ваши параметры отличаются от используемых в скрипте. Файл при редактировании выглядит так:

@echo off

echo Enjoy scripting language to run POPEYE!

set my-directory=”C:\PY-459

set my-popeye=”py

set my-result=”r.txt

cd %my-directory% :label_start

echo —————————————

echo. set end=

echo *** running %my-popeye% ***

%my-popeye% | mtee %my-result%

start Notepad %my-result%

set /p end=Press ENTER to continue!

if “%end%”==”” (goto label_start) else (goto :eof)

Пожалуйста, отредактируйте файл, как показано в Примере 1, заменив красные имена, в случае: вместо C:\PY-459 впишите свою директорию для программы popeye, вместо py впишите имя для popeye-программы, которое Вы используете (pywin64, pywin32, …), вместо r.txt Вы можете использовать любое имя файла для результатов, но с расширением .txt extension. Сохраните файл после редактирования. Теперь Вы можете запускать скрипт!! Как он будет работать?

  1. запускаете скрипт с десктопа
  2. программа popeye запустится и будет ждать Вашего ввода данных
  3. Вы можете ввести Вашу задачу вручную или сделать copy-paste – скопировать нотацию из файла, где она у Вас подготовлена, и подставить скопированное в окно popeye
  4. popeye будет выводить Вам решение на экран (как обычно), но одновременно будет писать решение и в заданный файл (у меня – r.txt)
  5. по окончании решения запускается текстовый редактор Notepad и показывает Ваше решение, записанное в файле
  6. а окно скрипта для popeye в это время ожидает следующей задачи – нажмите только клавишу ENTER для продолжения, и скрипт снова запускает программу решения…

Еще одно дополнение: в случае длинных решений, или большого количества побочных решений, Вы можете нажать CTRL-C для остановки процесса решения. Та часть решения, которую успели получить, тоже будет записана в файл. Процесс решения текущей задачи остановится, но Вы можете продолжать работу со следующей задачей (или версией данной задачи) – окно скрипта для popeye не закроется. Конечно, эти скрипты – только примеры – с ними возможно сделать много различных модификаций. Я просто тут показываю саму идею – что возможно сделать!


Буду рада Вашим вопросам и комментариям (на английском, русском, латышском)! Пожалуйста, пишите также, какие варианты скриптов были бы полезны – я могла бы добавить больше примеров для копирования. Используйте форму внизу – Добавить Комментарий или пишите мне на адрес julia@juliasfairies.com.

Успехов в использовании скриптов! Юля

15 комментариев: Batch скрипты для работы с popeye

  1. Diyan Kostadinov пишет:

    Wow… All it’s works! Thank you Julia for this so good step by step explanation, which is very useful even for not so good “computer specialists” like me 🙂

  2. Seetharamanseetharaman пишет:

    You are a very good teacher. I think your explanation will help computer dummies like me. Thanks. I will try and see if I can manage Popeye now. So far I have been having the difficulties you described in your first post.

    Recently I tried to download and instal APwin which is supposedly a convenient interface for Popeye. But I was unsuccessful :(. Unfortunately none of my computer friends know chess, so I dont know if they will be able to help.

    Perhaps one such lesson for installing APWIN will be useful.

  3. JuliaJulia пишет:

    Thanks for your comment! Good luck in managing popeye! I don’t use APWIN myself, but I’ve installed it to know how it looks. Yes, some difficulties might happen during the installation. I’ll try to write about APWIN’s installation. But I’d also suggest you to use Ankona (www.ankona.ch) – it is free, just have to sign in, and it also uses popeye for solving. I believe, I can answer any question about Ankona as I use it for a year. Julia.

    • Seetharamanseetharaman пишет:

      I think you are lucky to be able to use Ankona. I could not even register !! The server gave error message and rejected my three email addresses whenever I tried a second time with same email.

      • JuliaJulia пишет:

        I have sent an email to you – let’s try to check together what’s going on. I believe I can help you, I know how Ankona works pretty good. Send me screenshots of the screens you’ve got, step by step! Thanks! julia.

  4. Ekkehard May пишет:

    Hello,
    today i found this article about “Popeye” by accident.
    Maybe my program “Chessdiagrammer” could be interesting for you. It has build in interfaces to the solving engines “Popeye” and “Chest” so it is very simple to solve orthodox and fairy chess problems. If you have any questions, please don’t hesitate to ask me.
    Kindest regards, Ekkehard

  5. Seetharamanseetharaman пишет:

    I have already used the old version for making diagrams with fairy pieces. It was very useful. It seems that the latest version can solve fairy problems using Popeye. Though I downloaded it, it does not solve. Perhaps only the Professional version has that facility.

    • Ekkehard May пишет:

      Hello dear problemists,

      yes, it’s true, in Chessdiagrammer the fairy mode is only available in the professional version. In the freeware version, you can solve orthotox problems with Chest or with Popeye.
      The actual professional version 7.2 Build 1427 offers a very simple dialog for defining options and/or conditions for Popeye, that makes it very easy to handle the 177 conditions and 32 options [Popeye version 4.61]

      Feel free to download and test the program. You have a 30-day-trial-period, where you can test all functions of the professional version.

      Kindest regards, Ekkehard

  6. ganori80ganori80 пишет:

    Hi,
    I don’t know if you know my graphical multiplatform interface for popeye: Scacchi Painter 2
    You can find this software for free at accademiadelproblema.org (forum -> scacchipainter)
    It is written in .NET and is compatible with Windows, Linux with Mono, OsX with Mono
    Best Regards
    Gabriele

  7. Seetharamanseetharaman пишет:

    Thanks ganori, I downloaded it. I could open the graphic interface and set up a diagram. But it is not solving. What did I do wrong ?

  8. Luis Nunes пишет:

    Hi Julia!
    Do you know if Popeye could interpret FEN notation? Or if there’s a script wich can conver FEN to Popeye?

    I ask because found this file ( https://sites.google.com/site/edusadier/theartofdirectmateintwomoves/MateenDos.zip?attredirects=0 ) with so many mate in 2, and would like to solve them in Popeye…

    • JuliaJulia пишет:

      As I know, Popeye itself doesn’t interpret FEN. I believe that some composers might have written such converting scripts for themselves. Myself I use http://www.ankona.ch where FEN record is one of the options to create a diagram, and after Popeye engine is used for solving. But FEN works only for orthodox problems there!

  9. seetharaman пишет:

    I have been using Olive .. the GUI interface to Popeye for quite some time. It works great! Thanks Dmitri.

  10. Gurgui Dan пишет:

    For ViceKing what command use you?
    Viceking is Fe+Vi
    Thanks.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

You can add images to your comment by clicking here.