長い間、bashで何らかの種類のネットワークゲームを書きたいと思っていましたが、キーボードから通常のカーソルキーを使用して制御するのが便利であることが望ましいです。 一般的に、bashのインタラクティブな対話のトピックは、「数字を入力して「Enter」」を押します。 私は自分ですべてを発明し、研究しなければなりませんでした。 インタラクティブ性の点で似たようなものを見つけるために非常に一生懸命努力しましたが、それは見つかりませんでした。
キーボードによる微妙な制御が私の時間の多くを費やしたので、私は互換性の微妙なことを気にしませんでした。したがって、ゲームはMac OS Xでのみテストされました。
動作させるには、ゲームにnc(別名
Netcat )と256色をサポートする端末が必要です(Mac OSの場合は
iTerm2をお勧めし
ます )。 ゲームに興味があれば、16色と/ dev / tcpで端末を仕上げます。 ところで、すべての
シェルクラフトを
Githubにアップロードし始めました。
ゲームはネットワーク化されているため、2つのパラメーターを指定する必要があります。パラメーターを指定せずに起動するかどうかを通知します。 最初は敵のマシンのアドレス、2番目はポートです。 ポートは両方のマシンで同じように選択されます。 ゲームは、同じマシンで2つのコンソールで実行できます(スクリーンショットはそのような場合です)。
プレイするのは簡単です-各瞬間にアクティブなボードは1つだけです(スクリーンショット-右のボードでは、ボードの周りに明るい文字と数字があります)、アクティブなボードではカーソルキーでカーソルが移動します-←、→、↑、↓ -スペースバーまたはEnterを押します。 ボードに駒を置くとすぐに、相手に動きが移ります。 対戦相手の作品を「食べる」のは簡単です-自分の作品を他の人の作品に置くだけです。 ゲームには保護があります。フィギュアを「食べる」ことはできません。
ゲームにはこれ以外に何もありません-移動の制御が正しく行われず、ゲームを完了するためのチェックがありません。対戦相手の駒を歩くことさえできます。 シェルでクリックを処理する方法を理解することは非常に困難でした。そのため、残りの時間はありませんでした。「夕方のおもちゃ」の形式には収まりませんでした。
すべてを独立して動作させる方法を理解できるように、コードにコメントを付けて構造化された方法で記述しようとしました。
残念ながら、すべてのレコーダーはコンピューター上で非常に重く、ゲームの速度が低下し始めますが、一般的なアイデアを得ることができます。