|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
Написал покер с игральными костями!
PHP код:
<?php
session_start();
if(!$_SESSION['wins'] || $_SERVER['QUERY_STRING'] == 'clear_score'){$_SESSION['wins'] = 0;}
if(!$_SESSION['lose'] || $_SERVER['QUERY_STRING'] == 'clear_score'){$_SESSION['lose'] = 0;}
error_reporting(0);
if(!function_exists('str_split')) {
function str_split($string) {
$array = array();
for($i=0;$i<strlen($string);$i++)
{
$array[] = $string{$i};
}
return $array;
}
}
function check($array) {
$count = array_count_values($array);
$count2 = array_count_values($count);
if(max($count) == 2) {
if($count2[2] == 1) {
return 1;
} elseif($count2[2] == 2) {
return 2;
}
} elseif(max($count) == 3) {
if($count2[3] == 1 && $count2[2] == 1) {
return 6;
} else {
return 3;
}
} elseif(max($count) == 4) {
return 7;
} elseif(max($count) == 5) {
return 8;
} elseif(in_array(1, $array) && in_array(2, $array) && in_array(3, $array) && in_array(4, $array) && in_array(5, $array)) {
return 4;
} elseif(in_array(2, $array) && in_array(3, $array) && in_array(4, $array) && in_array(5, $array) && in_array(6, $array)) {
return 5;
} else {
return 0;
}
}
echo("<title>Покер с игральными костями</title><style>body{background:url(img/bones/bg.PNG);color:#F26522;}a:link,a:hover,a:active,a:visited{color:#F26522;}</style>");
if($_SERVER['QUERY_STRING'] != 'next') {
echo("<body><script>function kill(id){document.getElementById('text').value += id; document.getElementById('i_'+id).innerHTML = ''; document.getElementById('subm').value = 'Перебросить';}</script><font size=2>*Кликните по тем костям, которые вы хотите перебросить</font><br>");
}
if(!$_SESSION['bones_a']) {
$_SESSION['bones_a'] = array(rand(1,6), rand(1,6), rand(1,6), rand(1,6), rand(1,6));
} elseif($_POST['what']) {
$split = str_split($_POST['what']);
foreach($split as $delete) {
unset($_SESSION['bones_a'][($delete-1)]);
}
$_SESSION['bones_a'] = array_values($_SESSION['bones_a']);
for($i=0;$i<count($split);$i++) {
$_SESSION['bones_a'][] = rand(1,6);
}
}
$count = array_count_values($_SESSION['bones_a']);
$count2 = array_count_values($count);
$array = array(0 => 'шанс', 1 => 'одна пара', 2 => 'две пары', 3 => 'тройка', 4 => 'малый стрит', 5 => 'большой стрит', 6 => 'фулл хаус', 7 => 'каре', 8 => 'покер');
echo('<table><tr>');
foreach($_SESSION['bones_a'] as $i => $bone) {
echo('<td>');
if($_SERVER['QUERY_STRING'] != 'next') {
echo('<a id="i_'.($i+1).'" href="#" onclick="kill('.($i+1).')">');
}
echo('<img src="img/bones/'.$bone.'.png" width="125" border=0>');
if($_SERVER['QUERY_STRING'] != 'next') {
echo('</a>');
}
echo('<br></td>');
}
echo('</tr></table>');
if($_SERVER['QUERY_STRING'] != 'next') {
echo('<form method="POST" action="'.$_SERVER['PHP_SELF'].'?next"><input type="hidden" id="text" name="what"><br><input id="subm" type="submit" value="Не перебрасывать"></form>');
}
echo('<br><br>У вас ');
echo('<b>'.$array[check($_SESSION['bones_a'])].'</b>.');
if($_SERVER['QUERY_STRING'] == 'next') {
if(!$_SESSION['bones_b']) {
$_SESSION['bones_b'] = array(rand(1,6), rand(1,6), rand(1,6), rand(1,6), rand(1,6));
} else {
$just = true;
$k = 0;
$count = array_count_values($_SESSION['bones_b']);
if(check($_SESSION['bones_b']) == 1 || check($_SESSION['bones_b']) == 2) {
foreach($_SESSION['bones_b'] as $i => $bon) {
if($count[$bon] != 2) {
$k++;
unset($_SESSION['bones_b'][$i]);
}
}
} elseif(check($_SESSION['bones_b']) == 3) {
foreach($_SESSION['bones_b'] as $i => $bon) {
if($count[$bon] != 3) {
$k++;
unset($_SESSION['bones_b'][$i]);
}
}
} elseif(check($_SESSION['bones_b']) == 4) {
foreach($_SESSION['bones_b'] as $i => $bon) {
if($count[$bon] != 4) {
$k++;
unset($_SESSION['bones_b'][$i]);
}
}
} elseif(check($_SESSION['bones_b']) == 0) {
$k = 5;
$_SESSION['bones_b'] = array();
}
$_SESSION['bones_b'] = array_values($_SESSION['bones_b']);
for($i=0;$i<$k;$i++) {
$_SESSION['bones_b'][] = rand(1,6);
}
}
echo('<br><br><table><tr>');
foreach($_SESSION['bones_b'] as $bone) {
echo('<td><img src="img/bones/'.$bone.'.png" width="125" border=0><br></td>');
}
echo('</tr></table><br><br>У компьютера <b>'.$array[check($_SESSION['bones_b'])].'</b>.<br>');
if(check($_SESSION['bones_b']) > check($_SESSION['bones_a'])) {
$end = true;
echo('<font size=4><b>Вы проиграли.</b></font>');
$_SESSION['lose']++;
} elseif(!$just) {
echo('Перебрасывает');
echo('<meta http-equiv="refresh" content="2; url='.$_SERVER['PHP_SELF'].'?next">');
} else {
$end = true;
if(check($_SESSION['bones_a']) > check($_SESSION['bones_b'])) {
echo('<font size=4><b>Вы выиграли.</b></font>');
$_SESSION['wins']++;
} else {
echo('<font size=4><b>Ничья.</b></font>');
}
}
if($end) {
echo('<br><br><a href="'.$_SERVER['PHP_SELF'].'">Ещё раз</a>.');
unset($_SESSION['bones_a']);
unset($_SESSION['bones_b']);
}
}
echo('<div style="position: absolute; top: 5%; right: 5%;"><table width="200"><td>Побед:</td><td><b>'.$_SESSION['wins'].'</b></td></tr><tr><td>Проигрышей:</td><td><b>'.$_SESSION['lose'].'</b></td></tr></table><div align="center"><a href="'.$_SERVER['PHP_SELF'].'?clear_score">Очистить счёт</a></div></div></body>');
?>
Картинки от игры здесь. Вот пример скрипта.
Обновление 9 февраля.
Последний раз редактировалось NOmeR1; 09.02.2008 в 16:45..
|