![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.01.2010
Сообщений: 30
|
![]()
Всем здравствуйте!
Помогите, пожалуйста, разобраться в таком ретро-вопросе. Имеется консольное приложение (шахматный движок), написанное не знаю на каком языке, но это к делу не относится. В среде MS-DOS точно не запустится, потому что в хедере указано "This program cannot be run in DOS mode". Следовательно, запускаем его в Windos XP из Тотал Командера. Появляется консольное окошко, в котором мы можем вводить "внутренние команды", которые понимает только это приложение. Понятно я объясняю? Одним словом в самом MS-DOS таких команд нет. Например, команда "go" приказывает движку начать просчитывать варианты. Вот допустим, сейчас я запустил это приложение и (вручную) скомандовал "go". Приложение мне отвечает вот так: ![]() В первой строке название движка и авторы, во второй команда "go", ну а дальше результат этой команды. В данном случае движок, как я понимаю, взял настройки по умолчанию, просчитал варианты на 10 полуходов вперед из начальной шахматной позиции и выдал лучший, по его мнению, ход Кg1-f3. Чтобы изменить настройки этого движка (позицию на доске, глубину просчета вариантов и т.п.) имеются такие же "внутренние команды", которые сначала надо ввести, а потом уже скомандовать "go". Разумеется, в наше просвещенное время таким презренным ручным трудом ![]() И вот тут я сталкиваюсь с такой проблемой: запустив это приложение из пакетника, Код:
![]() Попробовал вставить "go" как параметр команды запуска этого приложения, то есть вот так: Код:
![]() Казалось бы, решение найдено. Просто вставляй (через пробелы) все "внутренние команды" в качестве параметров в первой же строке пакетника и дело в шляпе: Код:
Одним словом, подскажите, пожалуйста, каким образом можно составить пакетник (или Vb скрипт), чтобы можно было его слегка редактировать и запускать это приложение с разными начальными настройками, передавая их в качестве отдельных строк скрипта (это в идеале), либо в качестве параметров (неудобно, громоздко, но если это единственно возможный вариант, то можно потерпеть). |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Непонятно зачем аж целый абзац об MS-DOS, первый раз консольное приложение увидели? Они и в MS Win10 популярность не утратили и никакая "виртуальная машина DOS" не нужна (если это не 16-битное приложение из тех времен, но в данном случае приложение явно не древнее и никакого DOS не застало и не поддерживает https://en.wikipedia.org/wiki/Stockfish_%28chess%29).
И тотал коммандер тоже совсем не обязателен для их запуска. Я б AutoIt или AutoHotkey использовал если нужна просто автоматизация, там простые и удобные функции для ввода в stdin и т.п. http://autoit-script.ru/autoit3_docs...Management.htm Или может там вообще API предоставлено? Не очень понимаю что такое "шахматный движок" и что эта программа делает.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 19.02.2016 в 17:38. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
как вариант еще можно написать команды в файл и направить их приложению.
app<<commands.txt поидее должно отработать. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]() Цитата:
Но мне больше интересно, как вы собрались играть скриптом против недетерменированной программы. А вообще, играть с движком без оболочки - это как программировать в ed. ![]() Последний раз редактировалось ds.Dante; 19.02.2016 в 18:42. |
|
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]() Цитата:
Код:
Цитата:
Интересность такого решения в том, что можно на его основе, наштамповать множество визуальных отображений, под разные вкусы потребителей, не меняя сути самой игры. Да, ещё вспомнил. Попробуйте ввести команду "?". Должна выдать список доступных команд и их форматы.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 19.02.2016 в 18:32. |
||
![]() |
![]() |
![]() |
#6 | |
Участник клуба
Регистрация: 17.05.2011
Сообщений: 1,660
|
![]() Цитата:
![]() Поддерживает 32-битный и 64-битный однопроцессорный и многопроцессорный режимы (вплоть до 128 ядер), различные настольные и мобильные платформы (Windows, Mac OS X, Linux, iOS, Android) Для того, что бы разобраться с ним надо изучить протокол UCI и настройки этого движка |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]() |
![]() |
![]() |
![]() |
#8 | ||||||
Пользователь
Регистрация: 07.01.2010
Сообщений: 30
|
![]() Цитата:
Цитата:
Да это я понимаю, что Тотал для запуска программ не обязателен. Просто я всегда все программы запускаю именно из него, мне так удобно. Цитата:
Не знаю. Я внутри этого кода не ковырялся. Честно говоря, вообще внутрь чужих программ уже несколько лет не залазил. Цитата:
Цитата:
Файл commands.txt у меня сначала выглядел вот так: Код:
Цитата:
1. Из Тотал Командера, 2. С помощью Пуск > Выполнить… В обоих случаях консольное окно вспыхивает и сразу же пропадает (закрывается). Попробовал переписать текстовый файл вот таким образом: Код:
Правильно я понял, что у Вас знак «<<» означает пробел? Если да, то я так и делал. На самом деле, это очень интересная возможность, про которую я не знал, - передавать в качестве параметра текстовый файл с командами. Жаль, что невозможно увидеть результат ![]() |
||||||
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
<< означает просто <<, а не пробел.
Только разве не одно < надо вместо двух? https://www.microsoft.com/resources/....mspx?mfr=true Цитата:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]() Цитата:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помощь с консольным приложением VB | Мария студентка | Помощь студентам | 3 | 03.12.2014 20:17 |
Работа с консольным приложением в Pascal | djquins | Помощь студентам | 1 | 15.12.2013 16:04 |
Взаимодействие с консольным приложением | RADEM | C# (си шарп) | 3 | 29.04.2013 21:59 |
работа с консольным java приложением (win32) | D][mon | C# (си шарп) | 1 | 11.02.2012 14:30 |
Работа со сторонним консольным приложением | Recart | Общие вопросы Delphi | 3 | 01.12.2010 01:22 |