<?php


define('_IN_JOHNCMS', 1);
$headmod = '21';
$textl = '21 (Очко)';
$rootpath = '../../';
require_once ("../../incfiles/core.php");
require_once ("../../incfiles/head.php");
echo "<div class='phdr'>$textl</div>";
if($user_id)
{
	function morph($int, $expressions)
	{
		if(count($expressions) < 3)
			$expressions[2] = $expressions[1];
		$count = $int % 100;
		if($count >= 5 && $count <= 20)
			$result = 2;
		else
			$count = $count % 10;
		if($count == 1)
			$result = 0;
		elseif ($count >= 2 && $count <= 4)
			$result = 1;
		else
			$result = 2;
		return $int.' '.$expressions[$result];
	}


	/*/
	$act=0 отображение картинки
	$act=1 отображение масти
	$act=2 отображение номера
	$act=3 случайные карты
	$act=4 подсчет очков
	$count количество карт
	$card Массив карт
	/*/
	function card($act = '0', $card = array(), $count = '1')
	{
	//Построение базовой карточной колоды
		$suits = array("bubi", "chervi", "kresti", "piki");
		$faces = array('6','7','8','9','10','11','3','4', '11');
		//Построение массива карточной колоды
		foreach($suits as $suit)
		{
			foreach($faces as $face)
			{
				$deck[] = array("face" => $face, "suit" => $suit);
			}
		}
		//---------------
		switch($act)
		{

			case 0 :
				foreach($card as $value)
				{
					$result[] = "<img src='../img/karti/".$deck[$value]['suit'].$deck[$value]['face'].".jpg' alt='+' border='0'/>&nbsp;";
				}
				break;

			case 1 :
				foreach($card as $value)
				{
					$result[] = $deck[$value]['suit'];
				}

			case 2 :
				foreach($card as $value)
				{
					$result[] = $deck[$value]['face'];
				}
				break;

			case 3 :
				//Убираем использованные карты
				if($card)
				{
					foreach($card as $value)
					{
						unset ($deck[$value]);
					}
				}
				$result = array_rand($deck, $count);
				break;

			case 4 :
				foreach($card as $value)
				{
					$result = $result + $deck[$value]['face'];
				}
				break;
		}
		return $result;
	}
	//-----------------
	switch($act)
	{

		case "faq" :
			echo "<div class='gmenu'><b><span class='red'>Для участия в игре необходимо иметь при себе минимум 1 кредит!</span></b>";
			echo "<br />Сделайте ставку и нажмите \"<span class='green'>играть</span>\", Ваша ставка будет получена Банкиром и он начнет сдавать Вам карты(одна карта уже заранее сдана).
В игре участвуют двое - Вы и Банкир, на кону - двойная ставка (Ваша ставка и ставка Банкира). Взяв карты, Вы подсчитываете суммарное количество их очков.
Очки считаются следующим образом:<br />
шестерка - 6 очков<br />
семерка - 7 очков<br />
восьмерка - 8 очков<br />
девятка - 9 очков<br />
десятка - 10 очков<br />
валет(J) - 2 очка<br />
дама(Q) - 3 очка<br />
король(K) - 4 очка<br />
туз(A) - 11 очков.<br />
Сумма очков не зависит от масти карт.<br />
Для взятия очередной карты нужно нажать кнопку \"<span class='green'>ещё</span>\".<br />
Если сумма Ваших очков больше 21, то Вы проиграли - <span class='green'>перебор</span>, <span class='red'>исключение - 2 туза(22 очка).<br />
Очко(21) главнее чем 2 туза(22)!</span><br />
Взяв необходимое количество карт, Вы нажимаете кнопку \"<span class='green'>открыть</span>\", и Банкир открывает свои карты(если Вы набираете 20, 21 или 22(2 туза) очка то Банкир открывается автоматически). Выигрывает тот, у кого больше очков. Он забирает кон размером в 2 ставки. <br /><span class='red'>При равном количестве очков выигрывает Банкир.</span></div>";
			echo '<div class="menu">';
			echo "<a href=\"?\">Сделать ставку</a></div>";
			break;

		case "ini" :
			$mn = abs(intval($_POST['mn']));
			if($mn > 0)
			{
				if($datauser['balans'] >= $mn)
				{
					if($_SESSION['stavka'] == "")
					{
						mysql_query("update `users` set balans=`balans`-".$mn." where id='".$user_id."' LIMIT 1;");
						$_SESSION['stavka'] = $mn;
						header("Location: ?act=game");
					}
					else
					{
						echo functions :: display_error("Вы уже сделали ставку, вернитесь в игру!");
						echo '<div class="menu">';
						echo "<a href=\"?\">Сделать ставку</a></div>";
						require_once ("../../incfiles/end.php");
						exit;
					}
				}
				else
				{
					echo functions :: display_error("У вас недостаточно денег для подобной ставки!");
					echo '<div class="menu">';
					echo "<a href=\"?\">Сделать ставку</a></div>";
					require_once ("../../incfiles/end.php");
					exit;
				}
			}
			else
			{
				echo functions :: display_error("Вы не указали ставку!");
				echo '<div class="menu">';
				echo "<a href=\"?\">Сделать ставку</a></div>";
				require_once ("../../incfiles/end.php");
				exit;
			}
			break;

		case "game" :
			if($_SESSION['stavka'])
			{
			//Подсчет очков
				$uscore = card('4', $_SESSION['cards']);
				$bscore = card('4', $_SESSION['bankircards']);
				//Взял карту
				if($do
						!= 'end' )
					{
						$card = array_merge($_SESSION['cards'], $_SESSION['bankircards']);
					$card = card('3', $card, '2');
					;
					array_push($_SESSION['cards'], $card[0]);
					$uscore = card('4', $_SESSION['cards']);
					if($bscore <= 17)
					{
						array_push($_SESSION['bankircards'], $card[1]);
						$bscore = card('4', $_SESSION['bankircards']);
					}
				}
				//Открылся
				if($do
						== 'end' )
					{
						if($_SESSION['bscore'] <= 14)
						{
							$card = array_merge($_SESSION['cards'], $_SESSION['bankircards']);
							$card = card('3', $card, '1');
							$_SESSION['bankircards'][] = $card;
							$bscore = card('4', $_SESSION['bankircards']);
						}
				} echo '<div class="menu">';
				//Результат
				if($uscore == 21 and $bscore == 21)
				{
					echo '<b><span class="green">У вас и банкира очко!</span></b><br />';
					$win = 3;
				}
				else
					if($bscore == 21)
					{
						echo '<b><span class="red">У банкира очко!</span></b><br />';
						$win = 2;
					}
					else
						if($uscore == 21)
						{
							echo '<b><span class="green">У вас очко!</span></b><br />';
							$win = 1;
						}
						else
							if(($bscore == 22 && count($_SESSION['bankircards']) == 2) and ($uscore == 22 && count($_SESSION['cards']) == 2))
							{
								echo '<b><span class="red">У вас и банкира по 2 туза!</span></b><br />';
								$win = 3;
							}
							else
								if($bscore == 22 && count($_SESSION['bankircards']) == 2)
								{
									echo '<b><span class="red">У банкира 2 туза!</span></b><br />';
									$win = 2;
								}
								else
									if($uscore == 22 && count($_SESSION['cards']) == 2)
									{
										echo '<b><span class="green">У вас 2 туза!</span></b><br />';
										$win = 1;
									}
									else
										if(($uscore > 21) and ($bscore > 21))
										{
											echo '<b><span class="red">У вас и банкира перебор!</span></b><br />';
											$win = 3;
										}
										else
											if($uscore > 21)
											{
												echo '<b><span class="red">У вас перебор!</span></b><br />';
												$win = 2;
											}
											else
												if($bscore > 21)
												{
													echo '<b><span class="red">У банкира перебор!</span></b><br />';
													$win = 1;
												}
												else
													if($do
															== 'end' and $bscore > $uscore )
														{
															$win = 2;
													}
													else
														if($do
																== 'end' and $bscore < $uscore )
															{
																$win = 1;
														}
														else
															if($do
																	== 'end' and $bscore === $uscore )
																{
																	$win = 3;
															}
															else
															{
																$win = 0;
				}
				//--------------
				if($win != 0)
				{
					echo '<b>Карты банкира:</b><br />';
					$card = card('0', $_SESSION['bankircards']);
					echo join("", $card).'<br />'.morph(($bscore), array('очко', 'очка', 'очков')).'<br />';
				}
				echo '<b>Ваши карты:</b><br />';
				$card = card('0', $_SESSION['cards']);
				echo join("", $card).'<br />'.morph(($uscore), array('очко', 'очка', 'очков'));
				if($win == 1)
					//Победа
				{
					mysql_query("update `users` set balans=`balans`+".($_SESSION['stavka'] * 2)." where id='".$user_id."' LIMIT 1;");
					echo '</div><div class="gmenu">';
					echo '<b><span class="green">Вы выиграли</span></b>';
					echo "<br />Ваш выигрыш составил: <b>".morph((($_SESSION['stavka'] * 2)), array('балл', 'балла', 'баллов'))."</b> <br />";
					unset ($_SESSION['cards']);
					unset ($_SESSION['bankircards']);
					unset ($_SESSION['stavka']);
					echo '</div><div class="menu">';
					echo "<a href=\"?\">Играть еще</a></div>";
				}
				elseif ($win == 3)
					//ничья
				{
					mysql_query("update `users` set balans=`balans`+".$_SESSION['stavka']." where id='".$user_id."' LIMIT 1;");
					echo '</div><div class="gmenu">';
					echo '<span class="red">Ничья</span>';
					echo '<br />Вы вернули '.morph(($_SESSION['stavka']), array('балл', 'балла', 'баллов')).'<br />';
					unset ($_SESSION['cards']);
					unset ($_SESSION['bankircards']);
					unset ($_SESSION['stavka']);
					echo '</div><div class="menu">';
					echo "<a href=\"?\">Играть еще</a></div>";
				}
				elseif ($win == 2)
					//проигрыш
				{
					echo '</div><div class="gmenu">';
					echo '<span class="red">К сожелению Вы проиграли...</span>';
					echo '<br />Ставка в размере '.morph((($_SESSION['stavka'] * 2)), array('балл', 'балла', 'баллов')).' отправлена в банк<br />';
					unset ($_SESSION['cards']);
					unset ($_SESSION['bankircards']);
					unset ($_SESSION['stavka']);
					echo '</div><div class="menu">';
					echo "<a href=\"?\">Играть еще</a></div>";
				}
				else
				{
					echo '</div><div class="gmenu">';
					echo 'На кону: '.($_SESSION['stavka'] * 2).'<br />';
					echo '<b><a href="?act=game">Взять карту</a></b> или ';
					echo '<b><a href="?act=game&amp;do=end">Открыться</a></b></div>';
				}
			}
			else
			{
				header("Location: ?");
			}
			break;

		default :
			if($datauser['balans'] == 0)
			{
				echo functions :: display_error("У Вас не достаточно кредитов для продолжения текущей игры!");
				require_once ("../../incfiles/end.php");
				exit;
			}
        	unset ($_SESSION['cards']);
			unset ($_SESSION['bankircards']);
			unset ($_SESSION['stavka']);
			echo "<div class='menu'>У Вас ".$datauser['balans']." кредитов";
			if(!$_SESSION['cards'])
			{
				$card = card('3', '', '2');
				$_SESSION['cards'][] = $card[0];
				$_SESSION['bankircards'][] = $card[1];
			}
			echo '<br /><b>Ваши карты:</b><br />';
			$card = card('0', $_SESSION['cards']);
			echo join("", $card)."<br />Ваша ставка: (1 - ".$datauser['balans'].")</div>";
			echo '<div class="gmenu"><form action="?act=ini" method="post">';
			echo '<input name="mn" value="1"/><br />';
			echo '<input type="submit" value="Играть" /></form></div>';
			echo '<div class="menu">';
			echo "<a href=\"?act=faq\">Правила игры</a><br />";
			echo "<a href=\"../?act=cards\">Карточне игры</a><br />";
			echo "<a href=\"../?\">В раздел</a></div>";
	}
}
else
{
	echo functions :: display_error("Игра доступна только для зарегистрированых пользователей сайта");
	echo '<a href="../?">В раздел</a>';
}
require_once ("../../incfiles/end.php");

?>