PHP练习-洗牌算法


公平的洗牌并将洗好的牌存储在一个整形数组里

假设有一款扑克游戏,现需要用一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里

$card_num = 54;//牌数
function wash_card($card_num){
    $cards = $tmp = array();
    for($i = 0;$i < $card_num;$i++){
        $tmp[$i] = $i;
    }
    for($i = 0;$i < $card_num;$i++){
        $index = rand(0,$card_num-$i-1);
        $cards[$i] = $tmp[$index];
        unset($tmp[$index]);
        $tmp = array_values($tmp);
    }
    return $cards;
}
var_dump(wash_card($card_num));


上一篇 下一篇

评论

登录后可发表评论