
02.02.2008, 12:42
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,187
С нами:
10495046
Репутация:
2642
|
|
Не нашёл темы "скрипты от скуки", решил запостить сюда.
Вобщем написал карточную игру типо блекджека. Короче получилось русское народное очко. Вышло прикольно. Работает на сессиях =)
PHP код:
<?php
session_start();
function rand_card() {
if(!$_SESSION['cards_a']) {
$array = array();
} elseif(!$_SESSION['cards_b']) {
$array = $_SESSION['cards_a'];
} else {
$array = array_merge($_SESSION['cards_a'], $_SESSION['cards_b']);
}
$rand_one = rand(2, 11);
$rand_two = rand(1, 4);
if(!in_array(array($rand_one, $rand_two), $array) && $rand_one != 5) {
return array($rand_one, $rand_two);
} else {
return rand_card();
}
}
function session_kill($a = false) {
$_SESSION['cards_a'] = '';
$_SESSION['cards_b'] = '';
if($a) {
$_SESSION['good'] = '';
$_SESSION['bad'] = '';
}
}
if($_SERVER['QUERY_STRING'] == 'clear_score') {
session_kill(true);
}
if(!$_SESSION['good']) {
$_SESSION['good'] = 0;
}
if(!$_SESSION['bad']) {
$_SESSION['bad'] = 0;
}
echo('<title>Двадцать одно</title>');
$array = rand_card();
if($_SERVER['QUERY_STRING'] != 'stop' || !$_SESSION['cards_a']) {
$_SESSION['cards_a'][] = $array;
}
$all = array( 2 => 'Валет', 3 => 'Дама', 4 => 'Король', 6 => '6', 7 => '7', 8 => '8', 9 => '9', 10 => '10', 11 => 'Туз' );
echo('<table><tr>');
$sum_a = 0;
foreach($_SESSION['cards_a'] as $card) {
$sum_a += $card[0];
echo('<td><img src="img/'.$card[0].'/'.$card[1].'.bmp" /><br><div align="center"><b>'.$all[$card[0]].'</b></div></td>');
}
echo('</tr></table><br>Ваши очки: <b>'.$sum_a.'</b><br>');
if($sum_a > 21) {
echo('Вы проиграли (<b>Перебор</b>)<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
$_SESSION['bad']++;
session_kill();
} elseif($_SERVER['QUERY_STRING'] != 'stop') {
echo('<a href="'.$_SERVER['PHP_SELF'].'">Ещё</a> | <a href="'.$_SERVER['PHP_SELF'].'?stop">Хватит</a>');
} else {
$array = rand_card();
$_SESSION['cards_b'][] = $array;
echo('<br><table><tr>');
$sum_b = 0;
foreach($_SESSION['cards_b'] as $card) {
$sum_b += $card[0];
echo('<td><img src="img/'.$card[0].'/'.$card[1].'.bmp" /><br><div align="center"><b>'.$all[$card[0]].'</b></div></td>');
}
echo('</tr></table><br>Очки компьютера: <b>'.$sum_b.'</b><br>');
if($sum_b > $sum_a && $sum_b <= 21) {
echo('Вы проиграли<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
$_SESSION['bad']++;
session_kill();
} elseif($sum_b > 21) {
echo('Вы выиграли (<b>Перебор</b>)<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
$_SESSION['good']++;
session_kill();
} elseif(($sum_a == 21 && $sum_b == 21) || ($sum_a == 20 && $sum_b == 20)) {
echo('Ничья<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
session_kill();
} else {
echo('<META HTTP-EQUIV="Refresh" CONTENT="2; URL='.$_SERVER['PHP_SELF'].'?stop">');
}
}
echo('<div style="position: absolute; top: 5%; right: 5%;"><table width="200"><td>Побед:</td><td><b>'.$_SESSION['good'].'</b></td></tr><tr><td>Проигрышей:</td><td><b>'.$_SESSION['bad'].'</b></td></tr></table><div align="center"><a href="'.$_SERVER['PHP_SELF'].'?clear_score">Очистить счёт</a></div></div>');
?>
Картинки брать отсюда. Вот пример скрипта. Так сказать - игра с компом.
Последний раз редактировалось NOmeR1; 02.02.2008 в 22:52..
|
|
|