nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 18 Dec 2018 18:07



Reply to topic  [ 10 posts ] 
JavaScript chess 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Шахматы на JavaScript в 1024 байта

Мы как-то вели беседу на форуме о шахматных программах... Вот - образчик на JavaScript ! :o
Code:
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


30 Nov 2013 12:11
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17236
Location: Colorado
Reply with quote
Post 
Toledo? От него у нас уже вроде пролетали запутанные микропрограммульки :)

P.S. Вроде играет нормально в огнелисе

_________________
:eugeek: https://twitter.com/Shaos1973


30 Nov 2013 12:29
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Toledo? От него у нас уже вроде пролетали запутанные микропрограммульки :)

P.S. Вроде играет нормально в огнелисе

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

Image

_________________
iLavr


12 Jul 2014 10:35
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17236
Location: Colorado
Reply with quote
Ха - а оно рокировку делать не умеет!!! :twisted:

_________________
:eugeek: https://twitter.com/Shaos1973


28 Jan 2016 14:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Ха - а оно рокировку делать не умеет!!! :twisted:

А может ты её неправильно делаешь? У них рокировки у всех по-разному...
Или ты в коде посмотрел?

_________________
iLavr


28 Jan 2016 14:58
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17236
Location: Colorado
Reply with quote
Lavr wrote:
Shaos wrote:
Ха - а оно рокировку делать не умеет!!! :twisted:

А может ты её неправильно делаешь? У них рокировки у всех по-разному...
Или ты в коде посмотрел?

Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так

P.S. Вот в описании (http://js1k.com/2010-first/details/750) так и написано:
Quote:
Tiny Chess. Play chess against computer with queen-only promotion and without castling or en passant.


P.P.S. В этом смысле сишный вариант круче ;)

_________________
:eugeek: https://twitter.com/Shaos1973


28 Jan 2016 15:02
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так

Ну не во всех шахматах так... может быть отдельная кнопка влево и - вправо.
А без рокировки - что за шахматы... :-?

_________________
iLavr


28 Jan 2016 15:20
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17236
Location: Colorado
Reply with quote
Lavr wrote:
Shaos wrote:
Обычно идёшь королём куда надо и она делается - в сишных шахматах например у него именно так

Ну не во всех шахматах так... может быть отдельная кнопка влево и - вправо.
А без рокировки - что за шахматы... :-?


Ну вот такие шахматы - зато в 1К влезли :)

_________________
:eugeek: https://twitter.com/Shaos1973


28 Jan 2016 15:22
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17236
Location: Colorado
Reply with quote
Вот ещё 1K шахматы онлайн, но написанные в 1976 и работающие в виртуальном 6502 процессоре с современной 3D отрисовкой в JS :)

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

P.S. И рокировка там работает, правда есть глюки - когда я съел его ферзя, он стал ходить моими (белыми) фигурами, после чего я съел его короля, но он всё равно продлжил белыми ;)


Attachments:
bugchess.jpg
bugchess.jpg [ 68 KiB | Viewed 2534 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
30 Jan 2016 07:54
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
после чего я съел его короля, но он всё равно продлжил белыми ;)

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

_________________
iLavr


30 Jan 2016 10:16
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 10 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.