Вы не зашли.
-проверяем ничью, то есть имеются ли в массиве элементы _
-проверяем победу. Лучше функцией. Тут правда будет проблема, если нельзя global $a.
-если ход соперника, то в массиве случайный элемент _ превращается в крест. Затем выводятся все 9 элементов массива, сбивается переменная хода скрипта.
- если же не ход соперника, то двумя циклами и условием "если данный элемент массива равен _" выводятся ссылки на пустые поля и символы содержания элемента массива, если не пустые. Создается сессия на ход соперника.
Добавлено спустя 2 минуты 47 секунд: ыгыгы. Стопудово не будет работать
Стране нужны автобусы!
Код:
span style="color: #0000BB"><?phpsession_start();if(isset($_GET['a'])){$z='a'.$_GET['a'];if(!isset($_SESSION[$z]))$_SESSION[$z]='0';}for($i=0;$i!=9;$i++){if(isset($_SESSION['a'.$i]))$a[$i]=$_SESSION['a'.$i];else$a[$i]='_';}for($i=1;$i!=9;$i++){$empty.=$i;if($a[$i]=='_') $hod+=1;}if($hod==0) { session_destroy();exit ('ничья');}function win_lose($znak) {global $a;for($i=1;$i!=7;$i+3){if($a[$i]==$a[$i+1]&&$a[$i]==$a[$i+2]) { session_destroy();exit('победил'.$znak); }if(($a[1]==$a[5]&&$a[5]==$a[9])||($a[3]==$a[5]&&$a[5]==$a[7])){session_destroy();exit('победил'.$znak);}}win_lose('0');win_lose('x');if(isset($_SESSION['enemy'])){ $znachenie=mb_strlen($empty)-1;mt_srand(time());$enemy=mt_rand(0,$znachenie);$ready=$empty[$enemy];$a[$ready]='x';$_SESSION['a'.$a[$ready]]='x';for($i=1;$i!=7;$i+3){for($j=$i;$j!=3;$j++){echo $a[($j+$i-1)].' ';}echo '<br/>';}session_unregister('enemy');echo 'Оппонент сделал ход!<br/><a href="index.php">обновить</a><br/><a href="index.php?end=1">заново</a><br/>'; }else{for($i=1;$i!=7;$i+3) {for($j=1;$j!=3;$j++) { $v=$j+$i-1;if($a[$v]=='_') echo '<a href="index.php?a='.$a[$v].'">_</a> ';elseecho $a[$v].' ';}echo '<br/>';}$_SESSION['enemy']=true;}?> |
Добавлено спустя 2 минуты 47 секунд: что то h2m тормозит. Пока тестирование откладывается
Добавлено спустя 8 минут 17 секунд: пока правда без Заголовков, и без рестартов... Ну это уж как дело пойдет
Стране нужны автобусы!
свежее: забыл одну }, не объявил $hod, $empty.
главный косяк в функции
всегда выигрывает ноль. Гг. Совсем забыл про $znak
Добавлено спустя 7 минут 33 секунды: блин. Превышенно время выполнения
как так. Сверх оптимизированный код. Практически без циклов
Стране нужны автобусы!
http://www.freelancer.com.ua/programming-languages/2006/08/04/
искал правда совсем не это, но внимание остановило. Особенно как в комментах мастера C не признают других языков.
Добавлено спустя 1 минуту 44 секунды: if(($a[$i]==$a[$i+1])&&($a[$i]==$a[$i+2])&&($a[$i]===$znak))
Как это записать проще? Ужос. Что то мне кажется через цикл будет совсем не проще.
Стране нужны автобусы!
ну не свех уж...
здесь же в тестах показано было, что isset относительно медленная функция
так же лучше заменить
for($i=1;$i!=9;$i++) на
for($i=1;$i<9;$i++) (во всех циклах)
условие в условии... Гм
Стране нужны автобусы!
мда. Надо че то думать с проверкой на победу. Execution time не хватает однако
Стране нужны автобусы!
http://hitfounder.livejournal.com/7002.html
свежачок. Интересно что C не рассматривают как общий язык, а делят на 3
неужели такие разные
Стране нужны автобусы!
дада, C такой. Имел смелось ознакомиться в общих чертах с C и C++, могу подтвердить что отличаются, а C# на сколько я знаю еще сильнее отличается.
Интересно еще что JAVA так сильно всех опережает. Это на западе на самом деле так, у нас несколько другая ситуация. У нас бы Delphi повыше был, да PHP думаю тоже, а вот JAVA наоборот, как мне кажется была бы не на первом месте. И уж точно не 20% у нее было бы.
Еще если посмотреть тенденцию, то число PHP кодингистов постоянно растет
а вот JAVA кодингистов все меньше. Еще почему-то не увидел я тут ASP. Ну не верю я что им так мало народу пользуется. Еще момент... Вызывает сомнение что на C++ пишут меньше чем на чистом C. Вероятно подсчет имеет некоторую погрешность. А вообще инфа интересная
Хотя сравнивать скажем PHP и Бейсик, как мне кажется не совсем корректно