【发布时间】:2023-12-12 05:45:01
【问题描述】:
我想用 Java 编写一个国际象棋 GUI。用户可以输入一个动作,然后我希望程序做出一个动作。因此,我将使用 UCI(通用国际象棋接口)。 UCI 是一个终端/命令行应用程序(我使用的是 Mac OS X 和终端),它计算一个位置的最佳移动。现在我需要做的是读写这个终端应用程序。
例如:
我想要某个位置的最佳移动,所以我输入:
“go”(计算最佳移动)
假设我得到了这个答案:
“e2e4”(表示将棋子(即国际象棋中的棋子)从 e2 格移动到 e4 格)
现在我需要阅读“e2e4”,然后询问用户他的下一步行动。所以我有点需要一直循环这些步骤,直到有一个将死: 1. 要求搬家 2. 计算最佳响应
我已经看到很多其他 * 问题都在问同样的问题:如何运行命令并在命令行/终端中获取其输出。但是所有答案都只使用一个命令,例如runtime.exec("ls"); 但这只是一个命令。我想要的是输入一个命令,获取响应,执行另一个命令等等,所以基本上我需要与 Mac OSX 的终端应用程序通信(交替输入和输出)。我如何在 Java 中做到这一点?
【问题讨论】:
标签: java macos io terminal communication