问答详情
源自:1-1 PHP可以做什么?

PHP 代码求完善

要求:将54张扑克牌,随机分给6个人,并显示他们的牌,查出牌中同花顺最长的人,并把同花顺显示出来。下方是一部分代码,怎么修改,可以达到效果,主要是排序问题以及花色判断问题。

<!doctype html>
<html>
<!-- 随机发扑克牌 -->
<head>
    <meta charset="UTF-8">
    <title>随机发牌</title>
    <style>
        div{margin:15px 0}
        font{border:1px solid #ccc;padding:6px 3px;margin-right:10px}
    </style>
    <?php
    // 建立数组保存的牌组池
    $num = array('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K');
    $icon = array('♥' => 'red', '♦' => 'red', '♠' => 'black', '♣' => 'black');
    //生成扑克牌
    $poker = [];
    foreach ($icon as $iconkey => $iconvalue) {
        foreach ($num as $value) {
            $poker[] = "<font style='color:$iconvalue'> {$value} {$iconkey}</font>";
        }
    }
    array_push($poker,"<font>大王</font>","<font>小王</font>");
    shuffle($poker);   //打乱数组
    $output_1 = array_slice($poker,0,18);


    $output_2 = array_slice($poker,18,18);
    $output_3 = array_slice($poker,36,18);
    ?>
</head>
<body>
<div>玩家A 牌组</div>
<?php for ($i = 0; $i < 18; ++$i) {

    echo current($output_1);
    next($output_1);
} ?>
<div>玩家B 牌组</div>
<?php for ($i = 0; $i < 18; ++$i) {
    echo current($output_2);
    next($output_2);
} ?>
<div>玩家C 牌组</div>
<?php
    for ($i = 0; $i < 18; $i++) {
        echo current($output_3);
        next($output_3);
    }
    ?>
</body>
</html>


提问者:飞一样的感觉 2018-04-17 14:54

个回答

  • 飞一样的感觉
    2018-04-17 14:55:15

    错了 ,是随机分给3个人