HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ОФФТОП > Болталка
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 02.01.2010, 15:01
shuba
Постоянный
Регистрация: 22.05.2009
Сообщений: 514
Провел на форуме:
3579051

Репутация: 133


По умолчанию

Пончике, гоу в крестики нолеке
 
Ответить с цитированием

  #12  
Старый 02.01.2010, 15:15
Kusto
Moderator - Level 7
Регистрация: 04.02.2007
Сообщений: 554
Провел на форуме:
7518056

Репутация: 1089


По умолчанию

Кидаю исходники- алгоритм сам ищи (автор Номер- он их когдато здесь выкладывал)


PHP код:
<?php       session_start();       echo('<title>Крестки-нолики</title>');       if(!$_SESSION || $_SERVER == 'clear_score'){$_SESSION 0;}       if(!$_SESSION || $_SERVER == 'clear_score'){$_SESSION 0;}       if(!$_SESSION) {           $_SESSION = array();       }       if(!$_SESSION) {           $_SESSION = array();       }       function session_kill() {           unset($_SESSION);           unset($_SESSION);       }       function is_won($array) {           if((in_array(1$array) && in_array(2$array) && in_array(3$array)) || (in_array(1$array) && in_array(4$array) && in_array(7$array)) || (in_array(1$array) && in_array(5$array) && in_array(9$array)) || (in_array(2$array) && in_array(5$array) && in_array(8$array)) || (in_array(3$array) && in_array(6$array) && in_array(9$array)) || (in_array(3$array) && in_array(5$array) && in_array(7$array)) || (in_array(4$array) && in_array(5$array) && in_array(6$array)) || (in_array(7$array) && in_array(8$array) && in_array(9$array))) {               return true;           } else {               return false;           }       }       if($_GET && !in_array($_GETarray_merge($_SESSION$_SESSION)) && $_GET 10 && $_GET 0) {           $_SESSION[] = $_GET;           function rand_place() {               if(!in_array(5$_SESSION) && !in_array(5$_SESSION)) {                   return 5;               } else {                   $place rand(1,9);                   if(!in_array($place$_SESSION) && !in_array($place$_SESSION['o'])) {                       return $place;                   } else {                       return rand_place();                   }               }           }           if(count(array_merge($_SESSION['x'], $_SESSION['o'])) != && !is_won($_SESSION['x'])) {               if(((in_array(2$_SESSION['o']) && in_array(3$_SESSION['o'])) || (in_array(4$_SESSION['o']) && in_array(7$_SESSION['o'])) || (in_array(5$_SESSION['o']) && in_array(9$_SESSION['o']))) && !in_array(1$_SESSION['o']) && !in_array(1$_SESSION['x'])) {                   $_SESSION['o'][] = 1;               } elseif(((in_array(1$_SESSION['o']) && in_array(3$_SESSION['o'])) || (in_array(5$_SESSION['o']) && in_array(8$_SESSION['o']))) && !in_array(2$_SESSION['o']) && !in_array(2$_SESSION['x'])) {                   $_SESSION['o'][] = 2;               } elseif(((in_array(1$_SESSION['o']) && in_array(2$_SESSION['o'])) || (in_array(6$_SESSION['o']) && in_array(9$_SESSION['o'])) || (in_array(5$_SESSION['o']) && in_array(7$_SESSION['o']))) && !in_array(3$_SESSION['o']) && !in_array(3$_SESSION['x'])) {                   $_SESSION['o'][] = 3;               } elseif(((in_array(5$_SESSION['o']) && in_array(6$_SESSION['o'])) || (in_array(1$_SESSION['o']) && in_array(7$_SESSION['o']))) && !in_array(4$_SESSION['o']) && !in_array(4$_SESSION['x'])) {                   $_SESSION['o'][] = 4;               } elseif(((in_array(4$_SESSION['o']) && in_array(6$_SESSION['o'])) || (in_array(2$_SESSION['o']) && in_array(8$_SESSION['o'])) || (in_array(1$_SESSION['o']) && in_array(9$_SESSION['o'])) || (in_array(3$_SESSION['o']) && in_array(7$_SESSION['o']))) && !in_array(5$_SESSION['o']) && !in_array(5$_SESSION['x'])) {                   $_SESSION['o'][] = 5;               } elseif(((in_array(4$_SESSION['o']) && in_array(5$_SESSION['o'])) || (in_array(3$_SESSION['o']) && in_array(9$_SESSION['o']))) && !in_array(6$_SESSION['o']) && !in_array(6$_SESSION['x'])) {                   $_SESSION['o'][] = 6;               } elseif(((in_array(8$_SESSION['o']) && in_array(9$_SESSION['o'])) || (in_array(1$_SESSION['o']) && in_array(4$_SESSION['o'])) || (in_array(3$_SESSION['o']) && in_array(5$_SESSION['o']))) && !in_array(7$_SESSION['o']) && !in_array(7$_SESSION['x'])) {                   $_SESSION['o'][] = 7;               } elseif(((in_array(7$_SESSION['o']) && in_array(9$_SESSION['o'])) || (in_array(2$_SESSION['o']) && in_array(5$_SESSION['o']))) && !in_array(8$_SESSION['o']) && !in_array(8$_SESSION['x'])) {                   $_SESSION['o'][] = 8;               } elseif(((in_array(7$_SESSION['o']) && in_array(8$_SESSION['o'])) || (in_array(3$_SESSION['o']) && in_array(6$_SESSION['o'])) || (in_array(1$_SESSION['o']) && in_array(5$_SESSION['o']))) && !in_array(9$_SESSION['o']) && !in_array(9$_SESSION['x'])) {                   $_SESSION['o'][] = 9;               } elseif(((in_array(2$_SESSION['x']) && in_array(3$_SESSION['x'])) || (in_array(4$_SESSION['x']) && in_array(7$_SESSION['x'])) || (in_array(5$_SESSION['x']) && in_array(9$_SESSION['x']))) && !in_array(1$_SESSION['x']) && !in_array(1$_SESSION['o'])) {                   $_SESSION['o'][] = 1;               } elseif(((in_array(1$_SESSION['x']) && in_array(3$_SESSION['x'])) || (in_array(5$_SESSION['x']) && in_array(8$_SESSION['x']))) && !in_array(2$_SESSION['x']) && !in_array(2$_SESSION['o'])) {                   $_SESSION['o'][] = 2;               } elseif(((in_array(1$_SESSION['x']) && in_array(2$_SESSION['x'])) || (in_array(6$_SESSION['x']) && in_array(9$_SESSION['x'])) || (in_array(5$_SESSION['x']) && in_array(7$_SESSION['x']))) && !in_array(3$_SESSION['x']) && !in_array(3$_SESSION['o'])) {                   $_SESSION['o'][] = 3;               } elseif(((in_array(5$_SESSION['x']) && in_array(6$_SESSION['x'])) || (in_array(1$_SESSION['x']) && in_array(7$_SESSION['x']))) && !in_array(4$_SESSION['x']) && !in_array(4$_SESSION['o'])) {                   $_SESSION['o'][] = 4;               } elseif(((in_array(4$_SESSION['x']) && in_array(6$_SESSION['x'])) || (in_array(2$_SESSION['x']) && in_array(8$_SESSION['x'])) || (in_array(1$_SESSION['x']) && in_array(9$_SESSION['x'])) || (in_array(3$_SESSION['x']) && in_array(7$_SESSION['x']))) && !in_array(5$_SESSION['x']) && !in_array(5$_SESSION['o'])) {                   $_SESSION['o'][] = 5;               } elseif(((in_array(4$_SESSION['x']) && in_array(5$_SESSION['x'])) || (in_array(3$_SESSION['x']) && in_array(9$_SESSION['x']))) && !in_array(6$_SESSION['x']) && !in_array(6$_SESSION['o'])) {                   $_SESSION['o'][] = 6;               } elseif(((in_array(8$_SESSION['x']) && in_array(9$_SESSION['x'])) || (in_array(1$_SESSION['x']) && in_array(4$_SESSION['x'])) || (in_array(3$_SESSION['x']) && in_array(5$_SESSION['x']))) && !in_array(7$_SESSION['x']) && !in_array(7$_SESSION['o'])) {                   $_SESSION['o'][] = 7;               } elseif(((in_array(7$_SESSION['x']) && in_array(9$_SESSION['x'])) || (in_array(2$_SESSION['x']) && in_array(5$_SESSION['x']))) && !in_array(8$_SESSION['x']) && !in_array(8$_SESSION['o'])) {                   $_SESSION['o'][] = 8;               } elseif(((in_array(7$_SESSION['x']) && in_array(8$_SESSION['x'])) || (in_array(3$_SESSION['x']) && in_array(6$_SESSION['x'])) || (in_array(1$_SESSION['x']) && in_array(5$_SESSION['x']))) && !in_array(9$_SESSION['x']) && !in_array(9$_SESSION['o'])) {                   $_SESSION['o'][] = 9;               } else {                   $_SESSION['o'][] = rand_place();               }           }       }       if(!is_won($_SESSION['x']) && !is_won($_SESSION['o']) && count(array_merge($_SESSION['x'], $_SESSION['o'])) != 9) {   ?>   <script>   function add(element) {       if(element.innerHTML != 'O' && element.innerHTML != 'X') {           document.location.href = '<?php echo($_SERVER['PHP_SELF']); ?>?place='+element.id;       } else {           alert('Здесь ставить нельзя');       }   }   function over(element, str) {       if(element.innerHTML != 'O' && element.innerHTML != 'X') {           element.innerHTML = ' '+str+' ';       }   }   </script>   <?php       }   ?>   <table style="font-size: 40px; text-align: center; cursor: pointer;">   <tr>   <td style="width: 50px; height: 40px; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="1"><?php if(in_array(1$_SESSION['x'])) { echo('X'); } elseif(in_array(1$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="2"><?php if(in_array(2$_SESSION['x'])) { echo('X'); } elseif(in_array(2$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="3"><?php if(in_array(3$_SESSION['x'])) { echo('X'); } elseif(in_array(3$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   </tr><tr>   <td style="width: 50px; height: 40px; border-top: 1px solid black; border-bottom: 1px solid black; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="4"><?php if(in_array(4$_SESSION['x'])) { echo('X'); } elseif(in_array(4$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px; border-top: 1px solid black; border-bottom: 1px solid black; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="5"><?php if(in_array(5$_SESSION['x'])) { echo('X'); } elseif(in_array(5$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px; border-top: 1px solid black; border-bottom: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="6"><?php if(in_array(6$_SESSION['x'])) { echo('X'); } elseif(in_array(6$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   </tr><tr>   <td style="width: 50px; height: 40px; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="7"><?php if(in_array(7$_SESSION['x'])) { echo('X'); } elseif(in_array(7$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px; border-right: 1px solid black;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="8"><?php if(in_array(8$_SESSION['x'])) { echo('X'); } elseif(in_array(8$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   <td style="width: 50px; height: 40px;" onclick="add(this)" onmouseover="over(this, 'X')" onmouseout="over(this, '&nbsp;')" id="9"><?php if(in_array(9$_SESSION['x'])) { echo('X'); } elseif(in_array(9$_SESSION['o'])) { echo('O'); } else { echo('&nbsp;'); } ?></td>   </tr>   </table>   <?php       if(is_won($_SESSION['x'])) {           echo('<font color="Green"><b>Вы выиграли</b></font> | <a href="'.$_SERVER['PHP_SELF'].'">Ещё раз</a>');           session_kill();           $_SESSION['wins']++;       } elseif(is_won($_SESSION['o'])) {           echo('<font color="Green"><b>Вы проиграли</b></font> | <a href="'.$_SERVER['PHP_SELF'].'">Ещё раз</a>');           session_kill();           $_SESSION['lose']++;       } else {           if(count(array_merge($_SESSION['x'], $_SESSION['o'])) == 9) {               echo('<font color="Green"><b>Ничья</b></font> | <a href="'.$_SERVER['PHP_SELF'].'">Ещё раз</a>');               session_kill();           }       }       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>');    ?>
 
Ответить с цитированием

  #13  
Старый 02.01.2010, 15:52
Aikaram
Постоянный
Регистрация: 08.06.2009
Сообщений: 509
Провел на форуме:
3133559

Репутация: 766


По умолчанию

Давно использовал такой:
-По середине крестик.
-Левый нижний угол.
-Правый нижний угол.

Эта комбинация может быть перевернута по разному, но если после того как ты поставил эти три крестика, то открывается:
-нижняя середина
-левый верхний угол.

// следи при этом на нолики соперника, а то некоторые зацикливаются на своей комбинации и не видят, что соперник просто тупо ставит нолики.
 
Ответить с цитированием

  #14  
Старый 02.01.2010, 16:58
UnDRaux
Постоянный
Регистрация: 21.11.2007
Сообщений: 640
Провел на форуме:
4019134

Репутация: 2525


По умолчанию

системы нет, при желании можно не дать первому ходившему ни разу выиграть хоть из тысячи попыток. можете сами убедится в этом.
 
Ответить с цитированием

  #15  
Старый 08.01.2010, 21:01
ZhekO
Новичок
Регистрация: 21.06.2009
Сообщений: 2
Провел на форуме:
51999

Репутация: 0
По умолчанию

+100500)))
если оба соперника не дураки, и довольно-таки внимательны, то в любом случае будет ничья...а универсального алгоритма нет

кто не верит, вперёд его искать)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крестики нолики Encefalit Болталка 2 19.02.2009 14:58



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.