Ruby でコマンド ライン ゲームを作成しましたが、現在、Shoes を使用してゲームの GUI を作成しようとしています。私は午前中、Shoes について読み、いくつかのコード サンプルを見て、自分でコードを少し書きました。どうやら (私はShoes に慣れていないので、これは完全に間違っている可能性があります)、Shoes コード (たとえば、shoes.rb
Shoes アプリケーションで開くファイル) には、実行したいすべての Ruby コードが含まれている必要があります。すべての Ruby コードがそのファイル内に存在します。
私がこのゲームを起動する方法は、コマンド ラインでplay.rb
(Ruby スクリプト) にコマンド ライン引数を渡すことです。実行するplay.rb "command line game"
かplay.rb "shoes game"
、コマンド ラインで実行します。shoes.rb
後者を実行すると、Shoes アプリケーションで開くためのシステム コールが行われます。その中では、 ではなくプレイヤーにplay.rb
渡されます。以下は、プレーヤーがどのように移動を求められるかの例です。ShoesInterface
CommandLineInterface
human_player.rb
ファイル内:
def make_move
@interface.print("It's your turn to make a move.")
end
@interface
CommandLineInterface
またはのいずれかになりますShoesInterface
。のprint
メソッドCommandLineInterface
は、単なる puts ステートメントです。のprint
メソッドはShoesInterface
、Shoes GUI にそのテキストを表示するように指示する必要があります。できるだけ多くのコードを再利用しようとしています。理論的には、ゲームのプレイ方法(Web、コマンド ライン、GUI など) に関係なく、ほとんど同じロジックを使用する必要があります。インターフェイスは単にメッセージを表示し、ユーザー入力を受け取ります。彼らはそれをさまざまな方法で行うだけです。
問題は、Shoes GUI を既存の Ruby コードに接続する方法がわからないことです。ここに靴に堪能な人はいますか?これは、Shoes では不可能かもしれません...別の Ruby GUI を使用する必要があるかもしれませんが、別の Ruby GUI に移る前に質問しておこうと思いました。