JS德州扑克01

最近玩德州扑克上瘾。经常输光德州豆被QQ踢出游戏,一怒之下萌生了自己写个德州扑克程序的想法。

想不如做于是用JS写了一个德州扑克程序,目前已经完成了扑克类和玩家类的代码.

后面的代码我会陆续上传,因为我也是第一次写扑克类游戏。很多不完善的地方,欢迎大家指正和提出意见;)

function Poker(){

//************************扑克类******************************************    

   this.Cards=[];

   this.publicCards=[];

   //初始化扑克,1到52,花色顺序为红桃,方块,核桃,梅花;1-13分别为2到A

   for(i=0;i<52;i++)this.Cards[i]=i+1;

   this.shuffle=function(){ 

   //洗牌函数

   this.Cards.sort(function(a,b)

                        { a=Math.random();

                          b=Math.random();

                          return a-b;}

                        );

 

   } 

   this.hand=function(playerList){

   //发牌函数,每个晚间发两张牌,此处可拓展完发n张牌.

        for(var i=0;i<playerList.length;i++){

            p=playerList[i];

            if(this.Cards.length>7){

            p.ownCards[0]=this.Cards.pop();

            p.ownCards[1]=this.Cards.pop();

         }

         else{

         alert("人数太多牌不够");

         }

       }

     for(var i=0;i<5;i++){

     this.publicCards[i]=this.Cards.pop();

     }

    }

 

   this.show=function(){

   //显示所有牌的顺序

            var str="";

            for(var i=0;i<52;i++){

                str+="x:"+this.Cards[i];}

            document.write(str);

            return str;

    }

   this.compare=function(playerList){ 

   //比较牌的大小

        var winnerqueue=[]; 

        var tmp; 

        var i,j;

        var m=0;

        //先排序一遍用sort函数出现不明原因的问题,所以使用冒泡法自己排

        for(i=0;i<playerList.length;i++){

            for(j=0;j<playerList.length-i-1;j++){

               var p1=playerList[j];

               var p1kind=p1.getCardKind(this.publicCards);

               var num1=this.getKindnum(p1kind[0]);

               var p2=playerList[j+1];

               var p2kind=p2.getCardKind(this.publicCards);

               var num2=this.getKindnum(p2kind[0]);

               if(num1==num2){

                    var c1=[];

                    var c2=[];

                    c1=p1kind[2];

                    c2=p2kind[2];

                    for(var n=0;n<c1.length;n++){

                       var a=c1[n]%13;

                       a=(a==0?999:a);

                       var b=c2[n]%13;

                       b=(b==0?999:b);

                       if(a>b){

                         num1=num2+1;

                         break;} 

                       else if(a<b){ 

                         num2=num1+1;

                         break;}

                    }

                  }

               if(num1>num2){

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值