Interfacing With External Program
4 次查看(过去 30 天)
显示 更早的评论
I am making a chess playing robot which will be controlled online by matlab through serial interface. Currently, I need to interface with a chess engine. It should go like this. The chess engine is running separately. I send it string queries such as "move e2-e4" It returns string answers such as "bestmove g2-g4" I don't see where I can start. Can someone please link me to some example communication with external programs. I don't have C-source code of the program. Just an exe.
0 个评论
采纳的回答
Daniel Shub
2011-5-19
If you were not in MATLAB how would you call the chess engine? You can call external exe files with system.
doc system
3 个评论
Daniel Shub
2011-5-19
Did you look at the documentation for system?
try:
[status, result] = system('c:\ChessEnginePath\engine.exe move e2-e4')
更多回答(1 个)
Clemens
2011-5-19
On a similar problem I used the program expect to talk to the "bad" program for me. Say as mediator. (manual is at eg http://www.tcl.tk/man/expect5.31/expect.1.html and there are many samples online )
In your case the comand should look like:
[status,result] = system(...
'expect -c ''spawn engine; send "move e2-e4\r"; close;''')
It can be installed on windows via cygwin (as I did) or mingw.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!