我正在尝试制作纸牌游戏套牌制作者。
我使用JavaFX和已建立的数据类(Deck
,Card
和Character
类)制作了几个场景。通过在每个场景控制器中使用Deck类Singleton,我可以访问相同的Deck对象。
与此同时,我需要另外一个Deck
的对象,我可以将所有卡片保留在其中。我通过扩展AllCardsDeck
类创建了一个类Deck
。使用这种方法,我可以制作AllCardsDeck
的对象并保持常规玩家的牌组分开吗?
另外,当我创建AllCardsDeck
的对象时,它是否会影响具有单例模式的父类Deck
?
答案 0 :(得分:2)
你似乎不需要两个不同的课程;甲板是甲板。您应该有一个Deck
类,其中包含两个实例:currentDesk
和allCards
。
所以你只需要构造一个只被实例化两次的类(不是单例 - 一个doubleton?)。原则完全相同,没有必要准确地应用模式,特别是对于Singleton,只是为了尊重这个想法。
答案 1 :(得分:1)
作为其名称和Wikipedia状态,Singleton Pattern意味着您只会创建Deck对象的一个实例。如果您创建两个或更多实例,那么它将不会成为单身人士。
在这个问题中,您需要一个套牌,以允许玩家为每个玩家绘制卡片和类似手类的东西,因为它是每个玩家的地方他们保留自己的卡片。
这样你就可以让你的Deck单身人士工作(比如游戏中只有一个迷宫)和每个玩家的手牌。它们是分开的东西,应该被视为那样。