我目前正在用Java创建抽奖扑克的实现。
它最终将通过Twitter播放,允许人们通过发送个人资料来对抗机器人游戏,但是现在我只想让控制台实现首先工作。
基本上,我想要有一个名为HandOfPoker的课程来促进单手的操作(投注,丢弃牌,再次下注,显示牌,确定获胜者等),然后是另一个类GameOfPoker以方便HandOfPoker的多个实例。
通过这种结构,我认为我必须在HandOfPoker或GameOfPoker中生成控制台输出,让玩家知道发生了什么。出于某种原因,我认为使用System.out.print()或System.out.println()在Main方法以外的任何地方生成控制台输出的错误OOP设计是否属实?
答案 0 :(得分:0)
你的直觉是正确的。我现在看到它的方式,你有两个不同的类"促进游戏"。虽然HandOfPoker类是特定于手牌的,而GameOfPoker类是特定于游戏的,但它们都在与用户进行交互。您可以通过说GameOfPoker完成所有控制台输出和用户交互来进一步模块化,咨询GameOfPoker以获取完成该工作所需的信息。这将帮助您进行调试,因为您不必查找哪个类正在输出给定的消息,并且它可以为两个类提供更多特定的工作,而不是在每个其他区域相交,可以这么说。