我在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,但我认为在转到另一个之前我会问。