87
Linuxターミナルでチェスをプレイする方法

1200年以上の歴史を持つチェスは、今でも戦略性、思考力、計算能力を試す重要なゲームであり、暇つぶしにも最適です。8×8のマス目に適切なシンボルで駒を配置すれば、チェスのゲームができます。さあ、ターミナルでチェスをプレイしてみませんか? 

優れたオープンソースのチェスエンジンは数多く存在し、必要に応じてフロントエンドにプラグインできます。最も一般的なのはStockfishで、「世界最強の従来型チェスエンジン」とよく言われますが、これに異論を唱える理由はありません。 

チェスエンジンのインストール方法

まず最初に、 Stockfishをインストールしましょう。リポジトリにあるバージョンで問題ありません。Ubuntu 20.04の現在では、最新のv11-1リリースになります。以下を入力してインストールしてください。

sudo apt-get install -yl stockfish

私たちが選んだターミナルフロントエンドはchsと呼ばれ、Python 3で書かれています。理想的には、標準のPythonパッケージマネージャーpipを使ってインストールしてください。まだインストールされていない場合は、sudo apt install python3-pipでインストールしてください。もちろん、Python3も必要です。Ubuntu 18.04以降ではデフォルトでPython 2とPython 3が提供されていますが、まだインストールされていない場合はsudo apt update && sudo apt -y upgradeを実行して、最新の状態にしておいてください。python3 -Vと入力すれば、すぐにインストールが完了します。

chs をインストールするには、次のコマンドを実行します。

python3 -m pip install chs

インストールの終盤で、$PATH環境変数に.local/binディレクトリを追加するよう促す警告が表示される場合があります。追加しないと、ターミナルがchsの場所を把握できなくなります。追加するには、以下を入力してください。

export PATH=”$PATH:$HOME/.local/bin”

コマンドプロンプトでchsと入力してゲームを起動してみてください。ただし、次のエラーが表示される場合があります:「キャッチされないエラー“FileNotFoundError”、アプリを終了します。」

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

これは最新リリースの既知のバグで、いずれ修正される可能性がありますが、公開時点ではまだ問題となっていました。Stockfishの設定ファイルの1行を編集するだけで簡単に修正できます。nanoまたはお好みのテキストエディタでこのファイルを開き、phython3.Xを現在実行中のリリース(おそらく3.6または3.8)に置き換えてください(python3 -Vと入力して確認してください)。

nano ~/.local/lib/python3.X/site-packages/chs/engine/stockfish.py

LinuxではStockfish実行ファイルへのファイルパスが正しくありません。ファイルの先頭にif elif else文があります。Linuxのengine_path宣言をstockfish_10_x64_linuxから/usr/games/stockfishに変更してください。その後、Ctrl + OとCtrl + Xを押して保存し、終了してください。

Linuxでチェスをプレイする方法

(画像提供:Tom's Hardware)

chsと入力すると、ターミナルベースのチェス ボードが表示されます。  

ストックフィッシュチェスをプレイする 

デフォルトでは、chsはStockfishの最も簡単なレベル(1)でプレイしますが、私たちの貧弱な脳には到底無理です。もし挑戦したいなら、chs level=8でレベルを上げて、最も難しい設定にすることもできます。 

チェスに慣れている人なら、チェスの代数記法を知っているかもしれません。これは、chs で動きを入力する方法です。駒は 1 文字で表されます。ナイト (N)、ルーク (R)、クイーン (Q)、キング (K)、ビショップ (B) です。ポーンは空白です。動きをするには、駒の文字と移動先のグリッド座標を入力するだけです。chs が、指す駒を計算します。たとえば、オープニングのポーンが e2 から e4 の場合は、単に e4 になります。キングのナイトを動かすには、Nf3 を使用します。キングのビショップを動かし、次の動きで OO (ゼロではありません) でキャスリングできます。クイーン側でキャスリングする場合は、OOO を使用します。 

Linuxでチェスをプレイする方法

(画像提供:Tom's Hardware)

相手の駒を取るには、駒と移動の間に「x」を置きます。例えば、e4の白ポーンを使ってd5のポーンを取るという仮想ゲームでは、xd5と書きます。他の駒の場合は、駒の文字から始めます。これにより、複数の白ポーンで同じ動きが完了する可能性がある状況が生まれます。例えば、c4にも白ポーンが1つある場合などです。競合を避けるため、行の文字(またはファイル番号、どちらか競合を回避する方)を先頭に置きます。つまり、この例ではexd5です。  

Linuxでチェスをプレイする方法

(画像提供:Tom's Hardware)

いくつかの特別なコマンドを使えば、チート、いや、ゲームを修正することができます。backコマンドは、最後の一手(複数可)を好きなだけさかのぼって表示し、hintコマンドはStockfishエンジンからのちょっとしたアドバイスを提供します。これでゲームを始めるには十分でしょう。QueeningやEn Passantといった細かい部分もありますが、必要になった時に理解できるでしょう。  

Linuxでチェスをプレイする方法

(画像提供:Tom's Hardware)

デフォルトのチェスボードは小さすぎて使いにくく、UbuntuのデフォルトのモノフォントではISOチェス駒の画像がターミナルの種類に合わせて拡大縮小されません。より大きなボードが必要な場合は、2つの方法があります。ターミナルウィンドウ(デスクトップの場合)で、「編集」>「設定」>「プロファイル」を選択し、「カスタムフォント」をオンにして、例えば「Ubuntu Mono Regular」フォント(ポイントサイズが大きいフォント)を使用します。または、「メニュー」>「拡大縮小」オプション、または「表示」>「ズーム」を(ターミナルウィンドウの種類に応じて)数回使用して、すべてを拡大することもできます。

Linuxでチェスをプレイする方法

(画像提供:Tom's Hardware)

GNUチェス 

チェスをプレイする上で、明らかに選択肢となるものを見落としていると思うのは当然でしょう。それはフリーソフトウェア財団のGNU Chessです。これもターミナルベースのゲームですが、chsほどビジュアルは魅力的ではありません。もしこれが問題になるなら、GNU ChessエンジンにプラグインできるGUIがあるので、そこから操作を始められます。GPLv3ライセンスという利点があり、36歳の中年ゲーマーにもお勧めです。

Linuxでチェスをプレイする方法

GNU Chess  (画像提供:Linux Format)

GNU Chessについて詳しくは、 www.gnu.org/software /chessをご覧ください。ターミナルで起動するには、以下を実行してください。

sudo apt install gnuchess 

次に、プロンプトに 「gnuchess」と入力して起動します。

これまで説明したのと同じ標準的な代数的動作を使用し、各動作ごとに盤面が表示されます。GUIを表示するには、以下を入力してください。

sudo apt install xboard

xboardと入力して起動します。

あるいは、ほとんどのディストリビューションのソフトウェア センターで見つかる Gnome Chess ゲームは、同じ GNU Chess エンジンに基づいており、2,813 Elo ポイントという比較的強力な評価 (つまり、挑戦的な相手である) を得ています。

この記事はもともとLinux Format Issue 264に掲載されました。