求大神解答,如何用js实现发牌?

JavaScript016

求大神解答,如何用js实现发牌?,第1张

var num1 = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13)   

var num2 = new Array('红桃','方片','草花','黑桃')    

var num3 = new Array()

var player1=new Array()

var player2=new Array()

var player3=new Array()

var m=0

//生成一副牌,没有大小王;

for(var i=0i<num1.lengthi++){

    for(var n=0 n<num2.lengthn++){

        num3[m]=num2[n]+num1[i]

        m++

    }

}

//洗牌

num3.sort(function() {

    return (0.5-Math.random())

})

//再洗一次

num3.sort(function() {

    return (0.5-Math.random())

})

//发牌

for(var i=0i<num3.lengthi++){

    switch(i%3){

        case 0:player1.push(num3[i])break

        case 1:player2.push(num3[i])break

        case 2:player3.push(num3[i])break

        default: break

    }

}

能不能这样,建立2个数组,第一个数组是1-13,第二个数组是a-d,然后进行依次组合,然后随机派发给玩家。

<!DOCTYPE HTML>

<html>

<head>

<title>Page Title</title>

<meta http-equiv="Content-Type" content="text/html charset=UTF-8" />

<script>

var arr=[],count=52

for(var i=1i<=counti++){

arr.push(i)

}

arr.sort(function(a,b){

var rand=Math.floor(Math.random()*3)

if(rand==0){

return 1

}else if(rand==1){

return -1

}else{

return 0

}

})

var players=[[],[],[],[]]

for(var i=0i<arr.lengthi++){

var p=players[i%players.length]

p.push(arr[i])

}

//1表示黑桃A,2表示黑桃2...,13表示黑桃K,

//14~26红桃

//27~39梅花

//40~52方块

var str="A,2,3,4,5,6,7,8,9,10,J,Q,K".split(/,/)

for(var i=0i<players.lengthi++){

document.write("玩家"+(i+1)+":&nbsp")

var pi=players[i]

pi.sort(function(x,y){

if(x>y){

return 1

}else if(x<y){

return -1

}else {

return 0

}

})

for(var j=0j<pi.lengthj++){

var num=pi[j]

var ok=num%13

ok=ok==0?13:ok

var what=str[ok-1]

var tp

if(num>=1&&num<=13){

tp="黑桃"

}else if(num>13&&num<27){

tp="红桃"

}else if(num>26&&num<40){

tp="梅花"

}else{

tp="方块"

}

document.write(tp+what+"&nbsp")

}

document.write("<br />")

}

</script>

</head>

<body>

 

</body>

</html>