我在Ruby中構建了一個命令行遊戲,現在我正試圖使用Shoes爲遊戲構建一個GUI。我花了一天的時間閱讀關於Shoes的文章,看一些代碼示例,並自己編寫了一些代碼。它出現(我是新來的鞋子,所以這可能是完全錯誤的)的鞋碼(例如,shoes.rb
文件,您用鞋應用程序中打開)必須包含所有你想要運行的Ruby代碼。所有的Ruby代碼都將存在於該文件中。將Shoes GUI連接到現有的Ruby代碼
我發射了這款遊戲的方式是通過將命令行參數play.rb
(Ruby腳本)的命令行。在命令行運行play.rb "command line game"
或play.rb "shoes game"
。如果您運行後者,系統會調用Shoes應用程序打開shoes.rb
。在play.rb
之內,它將通過ShoesInterface
給玩家,而不是CommandLineInterface
。下面是一個玩家可以如何詢問此舉一個例子:
在human_player.rb
文件:
def make_move
@interface.print("It's your turn to make a move.")
end
@interface
要麼是CommandLineInterface
或ShoesInterface
。 CommandLineInterface
中的print
方法只是一個puts語句。在ShoesInterface
中的print
方法應告訴Shoes GUI顯示該文本。我試圖儘可能多地使用我的代碼。理論上,不管有人在玩遊戲(在網絡上,在命令行上,通過GUI等),它應該使用大部分相同的邏輯。接口只顯示消息並接收用戶輸入。他們只是以不同的方式做到這一點。
的問題是,我不知道如何連接我的鞋GUI以我現有的Ruby代碼。這裏有人精通鞋嗎?這可能無法在Shoes中實現......也許我將不得不使用不同的Ruby GUI,但我認爲在轉到另一個之前我會問。