/** * 結算 * @param $discards */ public function counting($discards, $command = false) { $ret = []; $cardObj = new Card(); echo "蓋牌結算 : <br>"; foreach ($discards as $key => $values) { echo '[玩家' . ($key + 1) . '] :'; $cardObj->watch_card($values, $command); foreach ($values as $val) { $ret[$key] += $val % 13 == 0 ? 13 : $val % 13; } } arsort($ret); $person = array_keys($ret); return $person[0]; }
// 玩家 $players = array("玩家1", "玩家2", "玩家3", "玩家4", "玩家5"); // 發牌 $cardObj = new Card(); $cards = $cardObj->create(); $cards = $cardObj->shuffle($cards); $groups = $cardObj->Dealer(count($players), $cards); // suit $suit = $cardObj->suit(); echo json_encode($groups) . '<br>'; //$groups = json_decode('[[14,3,47,6,20,33,17,51,9,11,29],[21,13,7,5,34,8,40,10,30,12,31],[32,16,43,28,45,42,15,36,26,25],[23,38,52,22,39,27,2,44,24,49],[35,41,48,4,37,1,19,46,50,18]]'); // testing foreach ($groups as $key => $val) { echo '[' . $players[$key] . ']  '; sort($val); $cardObj->watch_card($val); } echo '<hr>'; // 遊戲開始 $flow = new Flow(); $tab = new Table(); $flow::$members = count($players); // 第一手 $card = $flow->fire($groups); $tab->add($card); echo $players[$flow->now_player()] . ' : ' . $suit[$card] . '<br>'; for ($i = 0; $i < 55; $i++) { $flow->move_next(); $card = $flow->run($tab->get_on_table()); if (!$card) { echo '[' . $i . '] ' . $players[$flow->now_player()] . ' : PASS ! <br>';
include_once '../start/autoload.php'; $players = array("玩家1", "玩家2", "玩家3", "玩家4", "玩家5"); // 發牌 $cardObj = new Card(); $cards = $cardObj->create(); $cards = $cardObj->shuffle($cards); $groups = $cardObj->Dealer(count($players), $cards); //echo json_encode($groups).'<br>'; // suit $suit = $cardObj->suit(); // testing 顯示各家手牌 foreach ($groups as $key => $val) { fwrite(STDOUT, '[' . $players[$key] . ']'); sort($val); $cardObj->watch_card($val, true); } fwrite(STDOUT, '--------------------------------------'); // 遊戲開始 $flow = new Flow(); $tab = new Table(); $flow::$members = count($players); // 第一手 $card = $flow->fire($groups); $tab->add($card); fwrite(STDOUT, $players[$flow->now_player()] . '出牌: ' . $suit[$card]); for ($i = 0; $i < 55; $i++) { $flow->move_next(); fwrite(STDOUT, " || " . $players[$flow->now_player()] . "請出牌:"); $str = trim(fgets(STDIN)); if (empty($str)) {