Beispiel #1
0
function dealerPlays($dealer_deck, $final_shuffle, $used_cards)
{
    $settings = mysql_fetch_array(mysql_query("SELECT * FROM `system` WHERE `id`=1 LIMIT 1"));
    $threshold = 17;
    // under = HIT
    while (max(getSums($dealer_deck)) < $threshold) {
        $dealer_deck[] = $final_shuffle[$used_cards];
        $used_cards++;
    }
    if ($settings['hits_on_soft'] == 1 && max(getSums($dealer_deck)) == $threshold && count(getSums($dealer_deck)) == 2) {
        $dealer_deck[] = $final_shuffle[$used_cards];
        $used_cards++;
    }
    return $dealer_deck;
}
$gD_q = mysql_query("SELECT * FROM `games` WHERE `ended`=0 AND `player`={$player['id']} LIMIT 1");
if (mysql_num_rows($gD_q) == 0) {
    exit;
}
$gameData = mysql_fetch_array($gD_q);
$dealer['cards'] = array();
foreach (unserialize($gameData['dealer_deck']) as $card) {
    $dealer['cards'][] = explode('_', $card);
}
$dealer['cards'][1][0] = '-';
$dealer['cards'][1][1] = '-';
$player_['cards'] = array();
foreach (unserialize($gameData['player_deck']) as $card) {
    $player_['cards'][] = explode('_', $card);
}
$data['mark'] = '-';
if ($gameData['player_deck_2'] != '') {
    $player_['cards2'] = array();
    foreach (unserialize($gameData['player_deck_2']) as $card) {
        $player_['cards2'][] = explode('_', $card);
    }
    array_splice($player_['cards'], 1, 0, array($player_['cards2'][0]));
    unset($player_['cards2'][0]);
    $player_['cards2'] = array_values($player_['cards2']);
    $playerSums2 = implode(',', getSums(unserialize($gameData['player_deck_2'])));
} else {
    $playerSums2 = '-';
}
$playerSums = implode(',', getSums(unserialize($gameData['player_deck'])));
$dealerSums = implode(',', getSums(unserialize($gameData['dealer_deck'])));
echo json_encode(array('dealer' => $dealer, 'player' => $player_, 'accessable' => $gameData['accessable_actions'], 'sums' => array('player' => $playerSums, 'player2' => $playerSums2)));
$initial_shuffle = unserialize($player['initial_shuffle']);
$client_seed = $player['client_seed'];
$final_shuffle['initial_array'] = cs_shuffle($client_seed, $initial_shuffle['initial_array']);
$dealer_deck = array($final_shuffle['initial_array'][0], $final_shuffle['initial_array'][2]);
$player_deck = array($final_shuffle['initial_array'][1], $final_shuffle['initial_array'][3]);
$used_cards = 4;
$cards = array('dealer-1' => explode('_', $dealer_deck[0]), 'dealer-2' => explode('_', $dealer_deck[1]), 'player-1' => explode('_', $player_deck[0]), 'player-2' => explode('_', $player_deck[1]));
if (card_value($cards['player-1'][1]) == card_value($cards['player-2'][1])) {
    $accessable = 2;
} else {
    $accessable = 1;
}
mysql_query("INSERT INTO `games` (`player`,`bet_amount`,`player_deck`,`dealer_deck`,`initial_shuffle`,`client_seed`,`final_shuffle`,`used_cards`,`accessable_actions`) VALUES ({$player['id']},{$wager},'" . serialize($player_deck) . "','" . serialize($dealer_deck) . "','{$player['initial_shuffle']}','{$client_seed}','" . serialize($final_shuffle) . "',{$used_cards},{$accessable})");
$gameID = mysql_insert_id();
$dealerSums = getSums($dealer_deck);
$playerSums = getSums($player_deck);
$data['winner'] = '-';
if (in_array(21, $dealerSums)) {
    mysql_query("UPDATE `games` SET `ended`=1,`winner`='dealer' WHERE `id`={$gameID} LIMIT 1");
    $accessable = 0;
    $winner = 'dealer';
    $data['winner'] = 'dealer';
    playerWon($player['id'], $gameID, $wager, 'lose', true, serialize($final_shuffle));
} else {
    if (in_array(21, $playerSums)) {
        mysql_query("UPDATE `games` SET `ended`=1,`winner`='player' WHERE `id`={$gameID} LIMIT 1");
        $accessable = 0;
        $winner = 'player';
        $data['winner'] = 'player';
        playerWon($player['id'], $gameID, $wager, 'regular', true, serialize($final_shuffle));
    } else {
            $count++;
        }
        $activeSheet->setCellValue("A{$count}", "Totals");
        $activeSheet->setCellValue("B{$count}", "=" . getSums('B', $tcols));
        $activeSheet->setCellValue("C{$count}", "=" . getSums('C', $tcols));
        $activeSheet->setCellValue("D{$count}", "=" . getSums('D', $tcols));
        $activeSheet->setCellValue("E{$count}", "=" . getSums('E', $tcols));
        $activeSheet->setCellValue("F{$count}", "=" . getSums('F', $tcols));
        $activeSheet->setCellValue("G{$count}", "=" . getSums('G', $tcols));
        $activeSheet->setCellValue("H{$count}", "=" . getSums('H', $tcols));
        $activeSheet->setCellValue("I{$count}", "=" . getSums('I', $tcols));
        $activeSheet->setCellValue("J{$count}", "=" . getSums('J', $tcols));
        $activeSheet->setCellValue("K{$count}", "=" . getSums('K', $tcols));
        $activeSheet->setCellValue("L{$count}", "=" . getSums('L', $tcols));
        $activeSheet->setCellValue("M{$count}", "=" . getSums('M', $tcols));
        $activeSheet->setCellValue("N{$count}", "=" . getSums('N', $tcols));
        $activeSheet->getStyle("A{$count}:N{$count}")->getFont()->setBold(true);
        $activeSheet->getStyle("A{$count}:N{$count}")->applyFromArray($tableBorderArray);
        $activeSheet->getStyle("B{$count}:N{$count}")->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED4);
        $objPHPExcel->setActiveSheetIndex(0);
        header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
        header('Content-Disposition: attachment;filename="sales_city_comparision.xlsx"');
        header('Cache-Control: max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        $objWriter->save('php://output');
    }
}
function getSums($char, $tcols)
{
    $ret = "";
    $opr = "";
                $ended = 1;
                $data['accessable'] = 0;
                if (in_array(21, getSums($dealer_deck_new))) {
                    $winner = 'tie';
                    $data['winner'] = 'tie';
                    playerWon($player['id'], $gameData['id'], $gameData['bet_amount'], 'tie', true, $gameData['final_shuffle']);
                } else {
                    $winner = 'player';
                    $data['winner'] = $gameData['bet_amount'];
                    playerWon($player['id'], $gameData['id'], $gameData['bet_amount'], 'regular', true, $gameData['final_shuffle']);
                }
            }
        }
        mysql_query("UPDATE `games` SET `player_deck`='" . serialize($player_deck) . "',`player_deck_2`='" . serialize($player_deck_2) . "',`used_cards`=(6+{$dealer_used_cards}),`accessable_actions`={$data['accessable']},`ended`={$ended},`player_deck_stand`={$stand1},`player_deck_2_stand`={$stand2},`winner`='{$winner}',`dealer_deck`='" . serialize($dealer_deck_new) . "' WHERE `id`={$gameData['id']} LIMIT 1");
        $data['splitted_cards']['card-1'] = explode('_', $newcard1);
        $data['splitted_cards']['card-2'] = explode('_', $newcard2);
        $data['splitted_cards']['deck-1-value'] = implode(',', getSums($player_deck));
        $data['splitted_cards']['deck-2-value'] = implode(',', getSums($player_deck_2));
        break;
    default:
        exit;
        break;
}
if ($data['dealer_new'] != '-') {
    $newd = array();
    foreach ($data['dealer_new'] as $card) {
        $newd[] = explode('_', $card);
    }
    $data['dealer_new'] = $newd;
}
echo json_encode(array('error' => 'no', 'split' => $split, 'data' => $data));