扑克牌的面向对象建模

#扑克牌的面向对象建模:创建两个枚举类型Suit(花色),Rank(等级);创建两个类Card(牌),CardsSet(五张牌的集合);要求CardsSet实现Comparable接口,按照德州扑克规则比较不同牌型的大小。

//枚举类型表示一副扑克牌:
console.log("枚举类型表示一副扑克牌:");

//定义个已个表示“玩牌”的类
function Card( suit , rank ){
    this.suit = suit ;        //每张牌都有花色
    this.rank = rank ;         //以及点数
}

//使用枚举类定义换色和点数
Card.Suit = enumeration( {Clubs:1,Diamonds:2,Hearts : 3,Spades:4});

Card.Rank = enumeration( {Two: 2, Three:3,Four: 4, Five:5,Six : 6,
                            Seven:7,Eight:8,Nine:9,Ten:10,Jack :11,
                            Queen:12 , King:13,Ace : 14
                        } ) ;
//定义用以表示一副标准扑克牌的类
function Deck(){
    var cards = this.cards =[];             //一副牌就是有牌组成的数组
    Card.Suit.foreach(function(s){         //初始化这个数组
            Card.Rank.foreach( function(r){    
                cards.push(new Card(s,r));
            });
        });
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
21点扑克是一款经典的纸牌游戏,在面向对象设计时,我们需要考虑如何将这个游戏分解成不同的对象,并让它们之间能够相互交互。首先,我们可以创一个扑克牌的类,表示一副扑克牌,包括花色和点数。然后,我们可以创一个玩家的类,表示游戏中的每个玩家,包括他们的手牌和得分。接下来,我们可以创一个荷官的类,表示游戏中的庄家,负责发牌和计算点数。最后,我们可以创一个游戏控制器的类,用于处理游戏的流程控制,比如开始游戏、投注和结束游戏等。 在这个设计中,每个对象都有自己的属性和方法,比如扑克牌可以有花色和点数,玩家可以有手牌和得分,荷官可以发牌和计算点数,游戏控制器可以处理游戏的流程控制。这样,我们可以通过各个对象之间的交互来实现21点扑克游戏的逻辑。 另外,我们还可以利用继承和多态的特性来优化设计。比如,扑克牌可以作为一个基类,然后派生出不同花色和点数的扑克牌;玩家和荷官可以作为不同类型的玩家,它们都具有共同的方法,比如抽牌和计算得分,但是具体实现可以有所不同。这样,我们可以更好地组织代码,提高代码的复用性和可维护性。 总的来说,面向对象设计可以帮助我们更好地理解和实现21点扑克游戏,通过分解成不同的对象,并定义它们之间的交互关系,使得代码更加清晰和块化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值