Example #1
0
 protected function challenge_save($dont_save = null, $auto = null)
 {
     // avgjør vinner
     $winner = CardsPoker::compare($this->solve1, $this->solve2);
     // avgjør gevinst
     $prize = $winner[0] == 0 ? $this->data['poker_cash'] : bcmul($this->data['poker_cash'], 2);
     // oppdater
     $update = $dont_save ? '' : ", poker_challenger_result = {$this->solve2[0]}, poker_state = 4, poker_prize = {$prize}, poker_winner = {$winner[0]}";
     if ($auto && !$dont_save) {
         $update .= ", poker_auto = 1";
     }
     $cards = implode(",", $this->poker2->get_cards());
     $a = \Kofradia\DB::get()->exec("\n\t\t\tUPDATE poker\n\t\t\tSET poker_challenger_cards = " . \Kofradia\DB::quote($cards) . "{$update}\n\t\t\tWHERE poker_id = {$this->id} AND poker_state = 3");
     if ($a == 0) {
         return false;
     }
     if ($dont_save) {
         return true;
     }
     $this->data['poker_challenger_cards'] = $cards;
     $this->data['poker_challenger_result'] = $this->solve2[0];
     $this->data['poker_state'] = 4;
     $this->data['poker_prize'] = $prize;
     $this->data['poker_winner'] = $winner[0];
     $up1 = player::get($this->data['poker_starter_up_id']);
     $up2 = player::get($this->data['poker_challenger_up_id']);
     switch ($winner[0]) {
         // starter vant
         case 1:
             \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id = {$this->data['poker_starter_up_id']}");
             $up1->data['up_cash'] = bcadd($up1->data['up_cash'], $prize);
             putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u tapte (" . strip_tags($this->text2) . "). %u{$up1->data['up_name']}%u vant %u" . game::format_cash($prize) . "%u (" . strip_tags($this->text1) . ")");
             break;
             // utfordrer vant
         // utfordrer vant
         case 2:
             \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id = {$this->data['poker_challenger_up_id']}");
             $up2->data['up_cash'] = bcadd($up2->data['up_cash'], $prize);
             putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u vant %u" . game::format_cash($prize) . "%u (" . strip_tags($this->text2) . "). %u{$up1->data['up_name']}%u tapte (" . strip_tags($this->text1) . ")");
             break;
             // uavgjort
         // uavgjort
         default:
             \Kofradia\DB::get()->exec("\n\t\t\t\t\tUPDATE users_players\n\t\t\t\t\tSET up_cash = up_cash + {$prize}\n\t\t\t\t\tWHERE up_id IN ({$this->data['poker_starter_up_id']}, {$this->data['poker_challenger_up_id']})");
             $up1->data['up_cash'] = bcadd($up1->data['up_cash'], $prize);
             $up2->data['up_cash'] = bcadd($up2->data['up_cash'], $prize);
             putlog("SPAMLOG", "%bPOKER%b: %u{$up2->data['up_name']}%u (" . strip_tags($this->text2) . ") uavgjort mot %u{$up1->data['up_name']}%u (" . strip_tags($this->text1) . ")  - Begge fikk %u" . game::format_cash($prize) . "%u");
     }
     // trigger
     $up1->trigger("poker_result", array("won" => $winner[0] == 0 ? 0 : ($winner[0] == 1 ? 1 : -1), "cash" => $this->data['poker_cash'], "prize" => $prize, "opponent" => $up2));
     $up2->trigger("poker_result", array("won" => $winner[0] == 0 ? 0 : ($winner[0] == 1 ? -1 : 1), "cash" => $this->data['poker_cash'], "prize" => $prize, "opponent" => $up1));
     return array($winner, $prize, $up1, $up2);
 }
Example #2
0
					<p>Antall chips: <input type="text" class="styled w80 r" name="chips" id="chips" value="' . game::format_number(min($chips, $status->get("bet", 1000))) . ' chips" /> ' . show_sbutton("Start") . '</p>
				</form>
			</div>
		</div>';
}
// velge kort?
if ($cards && !$finish) {
    echo '
		<div class="bg1_c">
			<h2 class="bg1">Velg kort<span class="left2"></span><span class="right2"></span></h2>
			<div class="bg1 c">
				<form action="" method="post">
					<p>Spiller om: <b>' . game::format_number($status->get("bet")) . '</b> chips</p>
					<p>Marker de kortene du ønsker å <u>beholde</u>.</p>
					<p>';
    $poker = new CardsPoker(explode(",", $cards));
    $solve = $poker->solve();
    if ($solve[0] == 0) {
        $solve[2] = array($solve[3][0] => true);
    }
    foreach ($poker->active as $key => $card) {
        echo sprintf('
						<input type="checkbox" name="kort[]" value="%d" id="kort%d"%s /><label for="kort%d"><img src="%s" alt="%s" title="%s" class="spillekort" /></label>', $key, $key, isset($solve[2][$key]) ? '' : '', $key, htmlspecialchars(sprintf(KORT_URL, $card->num + 1, $card->group['name'])), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign(), ucfirst(htmlspecialchars($card->group['title'])) . ' ' . $card->sign());
    }
    $text = $poker->solve_text($solve);
    echo '
					</p>
					<p>' . $text . '</p>
					<p>' . show_sbutton("Fortsett", 'name="choose"') . '</p>
				</form> 
			</div>
Example #3
0
<?php

require "../../app/ajax.php";
ajax::require_user();
// kontroller lås
ajax::validate_lock();
// hent alle utfordringer
$result = \Kofradia\DB::get()->query("SELECT poker_id, poker_starter_up_id, poker_time_start, poker_starter_cards, poker_cash FROM poker WHERE poker_state = 2 ORDER BY poker_cash");
$i = 0;
$data = array();
$html_to_parse = array();
while ($row = $result->fetch()) {
    $d = array();
    $d['self'] = $row['poker_starter_up_id'] == login::$user->player->id;
    $html_to_parse[$i] = (!$d['self'] ? '<input type="radio" name="id" value="' . $row['poker_id'] . '" />' : '') . '<user id="' . $row['poker_starter_up_id'] . '" />';
    $d['cash'] = game::format_cash($row['poker_cash']);
    $d['reltime'] = poker_round::get_time_text($row['poker_time_start']);
    if (access::has("admin")) {
        $cards = new CardsPoker(explode(",", $row['poker_starter_cards']));
        $d['cards'] = $cards->solve_text($cards->solve());
    }
    $data[$i++] = $d;
}
// parse html
if (count($html_to_parse) > 0) {
    $html_to_parse = parse_html_array($html_to_parse);
    foreach ($html_to_parse as $i => $value) {
        $data[$i]['player'] = $value;
    }
}
ajax::text(js_encode($data), ajax::TYPE_OK);
Example #4
0
    protected function stats_row($row, $starter, $i)
    {
        $poker1 = new CardsPoker(explode(",", $row['poker_starter_cards']));
        $solve1 = $poker1->solve();
        $text1 = $poker1->solve_text($solve1);
        $poker2 = new CardsPoker(explode(",", $row['poker_challenger_cards']));
        $solve2 = $poker2->solve();
        $text2 = $poker2->solve_text($solve2);
        $winner = CardsPoker::compare($solve1, $solve2);
        return '
					<tr' . ($i % 2 == 0 ? ' class="color"' : '') . '>
						<td><user id="' . $row['poker_' . ($starter ? 'challenger' : 'starter') . '_up_id'] . '" /></td>
						<td><span class="dark">' . ess::$b->date->get($row['poker_time_challenge'])->format() . '</span><br />' . game::timespan($row['poker_time_challenge'], game::TIME_ABS) . '</td>
						<td>' . ($starter ? $text1 : $text2) . '<br /><span style="color: #888">' . ($starter ? $text2 : $text1) . '</span></td>
						<td class="r">' . game::format_cash($row['poker_cash']) . '</td>' . ($winner[0] == 0 ? '
						<td>Uavgjort</td>' : ($winner[0] == 1 && $starter || $winner[0] == 2 && !$starter ? '
						<td class="vi"><b>Vant!</b><br />' . game::format_cash($row['poker_prize']) . '</td>' : '
						<td class="ta"><b>Tapte..</b></td>')) . '
					</tr>';
    }