我正在尝试创建一个html" target="_blank">MVC模式的回合制卡牌游戏。我对正确的设计有些怀疑。
我创建了一个由这些类组成的模型:
我将在用户按下“新游戏”按钮时创建两个Player对象和GameModel(计算机和Player)。这样做对吗?(我猜我不需要策略模式)
我创建了一个GameController类,它引用了GameModel类和GameFrame(视图)类。
我需要实现某种形式的“暂停”,当计算机正在玩或者当有人赢了手牌并在桌上摘牌时,所以我想我需要创建一个带有游戏循环的Runnable类。正确?
这些类该如何互动?(这是正确的英文吗?xD)
玩家动作示例:
单击卡片按钮-->ActionListener-->调用GameController方法来检查操作是否可能(轮到我了,我可以玩了,计算机玩了)-->如果可能,GameController更新GameModel-->GameLoop注意GameModel的更改,并调用一些UI方法来升级视图(使用一些Thread.Sleep(...))。这能行吗?
但在这一切中,我该把AI放在哪里呢?感谢您的帮助:)
这不是一个只能用一种方法来回答的问题。你想让它只有单人游戏还是多人游戏?对于singleplayer,您可能不需要任何线程。我建议从以下几个方面开始:
while(gameNotFinished()){player=determineNextPlayer();player.MakeTurn();}
这是正确的继续方式吗?
我不明白为什么一个“新游戏”按钮和你描述的动作应该是一个问题。也许可以考虑“重置”这个动作中的一切,这样玩家就可以在任何他想要的时候按下按钮。
计算机正在播放时的“暂停”
是否要等待额外的时间,直到计算机播放器完成他的轮到?我会说让他越快越好。只要游戏只在人类玩家完成他的回合时继续进行。
这能起作用吗?
我会将它更改为以下内容:
单击卡片按钮-->GameController(是ActionListener)-->检查操作是否可能的方法(
轮到我了,我可以玩了,计算机玩了
卡片可以放下。当轮到你的时候,控制器会联系你!当轮到你的时候,禁用卡片按钮,makeTurn()会再次启用它)-->如果可能的话,GameController更新GameModel-->GameModel会通知所有观察者(视图),然后更新它们
我应该把AI放在哪里?
如上面解释的那样,放在实现PlayerController接口的HumanPlayerController旁边。
我对我的编程技能越来越有信心,所以我决定重新开始之前开始的纸牌游戏。这个程序的重点是现在我对程序流程、变量、条件等有了很好的掌握,我想加深我对OOP的理解 所以我需要一些关于面向对象设计的建议 我的纸牌游戏将有5个类: Main 卡 牌组(has-a-Card-ArrayList) 玩家(拥有-从牌组对象接收的卡对象的卡数组列表) 经销商 我想知道让Dealer类成为一个接口是否合适的OOP。所有
我试图用Java实现纸牌游戏“Skat” 规则: 有32张卡片。每张牌在游戏中只存在一次。 颜色有:梅花、黑桃、红心、钻石 价值观是:王牌,国王,王后,杰克,十,九,八,七 那些牌被洗牌了。有三名球员 第一轮:每位玩家有3张牌。然后将两张卡片放入Skat。 第二轮:每位玩家再获赠4张牌。 第三轮:每位玩家再获得3张牌。 期望输出:每个玩家的牌都被展示(每张牌都应该存在一次) 我的产量:钻石七(32
我尝试在Java实施纸牌游戏“滑冰” 规则: 有32张牌。每张牌在游戏中只存在一次。 颜色是:梅花、黑桃、红心、钻石 这些值是:王牌、国王、王后、杰克、十、九、八、七 那些牌被洗牌了。有三个队员 第一回合:每位玩家获赠3张牌。然后将2张牌放入滑板中。 第二回合:每名玩家再获4张牌。 第三回合:每名玩家再获3张牌。 想要的输出:露出的每个玩家的牌(每张牌都要存在一次) 我的输出:钻石七(32次) 我
我在做一个匹配的纸牌游戏,但我不明白如何实际做到这一点。我希望有人能帮我解释一下我能做些什么来解决这个问题。 以下是规格: 在一个对的纸牌游戏中,目标是翻出对匹配的纸牌。 https://en.wikipedia.org/wiki/contension_(游戏)以下是我们考虑的配对变化的规则。 在游戏开始时,有n张牌面朝下,其中n是4的倍数。每种卡片有4张,卡片上标有字母a、b、....例如,如果
本文向大家介绍Java编写的24点纸牌游戏,包括了Java编写的24点纸牌游戏的使用技巧和注意事项,需要的朋友参考一下 任意4个1-13数字,加减乘除计算24点。 实现原理: 1)排列组合4个数字 2)计算每次排列组合的可能性 Cal24.java Combination.java 以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍java实现24点纸牌游戏,包括了java实现24点纸牌游戏的使用技巧和注意事项,需要的朋友参考一下 本文题目为大家分享了java实现24点纸牌游戏的具体代码,供大家参考,具体内容如下 题目 24点游戏是经典的纸牌益智游戏。 常见游戏规则: 从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏