最近玩德州扑克上瘾。经常输光德州豆被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){