JavaScript chess

Новости и интересная информация из интернета по нашей теме

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

JavaScript chess

Post by Lavr »

Шахматы на JavaScript в 1024 байта

Мы как-то вели беседу на форуме о шахматных программах... Вот - образчик на JavaScript ! :o

Code: Select all

for(B=i=y=u=b=i=5-5,x=10,I=[],l=[];B++<304;I[B-1]=B%x?B/x%x<2|B%x<2?7:B/x&4?0:l[i++]="ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK  IDHGFE".charCodeAt(y++)-64:7);function X(c,h,e,s){c^=8;for(var o,S,C,A,R,T,G,d=e&&X(c,0)>1e4,n,N=-1e8,O=20,K=78-h<<9;++O<99;)if((o=I[T=O])&&(G=o^c)<7){A=G--&2?8:4;C=o-9?l[61+G]:49;do if(!(R=I[T+=l[C]])&&!!G|A<3||(R+1^c)>9&&G|A>2){if(!(R-2&7))return K;n=G|(c?T>29:T<91)?o:6^c;S=(R&&l[R&7|32]*2-h-G)+(n-o?110:!G&&(A<2)+1);if(e>h||1<e&e==h&&S>2|d){I[T]=n;I[O]=0;S-=X(c,h+1,e,S-N);if(!(h||e-1|B-O|T-b|S<-1e4))return W(),c&&setTimeout("X(8,0,2),X(8,0,1)",75);I[O]=o;I[T]=R}if(S>N||!h&S==N&&Math.random()<.5)if(N=S,e>1)if(h?s-S<0:(B=O,b=T,0))break}while(!R&G>2||(T=O,(G||A>2|(c?O>78:O<41)&!R)&&++C*--A))}return-K+768<N|d&&N}function W(){i="<table>";for(u=18;u<99;document.body.innerHTML=i+=++u%x-9?"<th width=60 height=60 onclick='I[b="+u+"]>8?W():X(0,0,1)'style='font-size:50px'bgcolor=#"+(u-B?u*.9&1||9:"d")+"0f0e0>&#"+(I[u]?9808+l[67+I[u]]:160):u++&&"<tr>")B=b}W()
Image

Они даже стараются сделать вид, что в шахматы играют! :wink:

Только лично у меня вот такая вот фегня на доске... 8)

Image

А как оно поигрывает у вас?



PS. Чем-то напомнило мне самый короткий код эмуляции i8080 на С от одного индуса кажись...
iLavr
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Toledo? От него у нас уже вроде пролетали запутанные микропрограммульки :)

P.S. Вроде играет нормально в огнелисе
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Toledo? От него у нас уже вроде пролетали запутанные микропрограммульки :)

P.S. Вроде играет нормально в огнелисе
А у меня и в огнелисе - опять с графикой что-то не так... :(
Проверял ссылку, прожде чем выложить для Num Lock - теперь вот так "играет":

Image
iLavr
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: JavaScript chess

Post by Shaos »

Ха - а оно рокировку делать не умеет!!! :twisted:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: JavaScript chess

Post by Lavr »

Shaos wrote:Ха - а оно рокировку делать не умеет!!! :twisted:
А может ты её неправильно делаешь? У них рокировки у всех по-разному...
Или ты в коде посмотрел?
iLavr
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: JavaScript chess

Post by Shaos »

Lavr wrote:
Shaos wrote:Ха - а оно рокировку делать не умеет!!! :twisted:
А может ты её неправильно делаешь? У них рокировки у всех по-разному...
Или ты в коде посмотрел?
Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так

P.S. Вот в описании (http://js1k.com/2010-first/details/750) так и написано:
Tiny Chess. Play chess against computer with queen-only promotion and without castling or en passant.
P.P.S. В этом смысле сишный вариант круче ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: JavaScript chess

Post by Lavr »

Shaos wrote:Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так
Ну не во всех шахматах так... может быть отдельная кнопка влево и - вправо.
А без рокировки - что за шахматы... :-?
iLavr
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: JavaScript chess

Post by Shaos »

Lavr wrote:
Shaos wrote:Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так
Ну не во всех шахматах так... может быть отдельная кнопка влево и - вправо.
А без рокировки - что за шахматы... :-?
Ну вот такие шахматы - зато в 1К влезли :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23992
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: JavaScript chess

Post by Shaos »

Вот ещё 1K шахматы онлайн, но написанные в 1976 и работающие в виртуальном 6502 процессоре с современной 3D отрисовкой в JS :)

http://www.ltn.lv/~gv/Microchess/MicroJS.htm

P.S. И рокировка там работает, правда есть глюки - когда я съел его ферзя, он стал ходить моими (белыми) фигурами, после чего я съел его короля, но он всё равно продлжил белыми ;)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: JavaScript chess

Post by Lavr »

Shaos wrote:после чего я съел его короля, но он всё равно продлжил белыми ;)
Это всегда "неподецки" удивляет! :roll: Ну, спишем на то, что они старались запихать шахматы в 1К.
И в основе у всех, видимо, оцифрован один и тот-же алгоритм "программы вычисления хода",
к которому каждый, похоже, добавляет своих ошибок.
Да и вряд ли шибко тестируются такие nedo-chess...
iLavr