Показать сообщение отдельно

  #281  
Старый 02.02.2008, 12:42
NOmeR1
Познавший АНТИЧАТ
Регистрация: 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(211);
        
$rand_two rand(14);
        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( => 'Валет'=> 'Дама'=> 'Король'=> '6'=> '7'=> '8'=> '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..
 
Ответить с цитированием