nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 02:13



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

Joined: 21 Oct 2009 08: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 11:11
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Toledo? От него у нас уже вроде пролетали запутанные микропрограммульки :)

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

_________________
:dj: https://mastodon.social/@Shaos


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

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

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

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

Image

_________________
iLavr


12 Jul 2014 09:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Ха - а оно рокировку делать не умеет!!! :twisted:

_________________
:dj: https://mastodon.social/@Shaos


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

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

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

_________________
iLavr


28 Jan 2016 13:58
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
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. В этом смысле сишный вариант круче ;)

_________________
:dj: https://mastodon.social/@Shaos


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

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

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

_________________
iLavr


28 Jan 2016 14:20
Profile
Admin
User avatar

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

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


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

_________________
:dj: https://mastodon.social/@Shaos


28 Jan 2016 14:22
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
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 8400 times ]

_________________
:dj: https://mastodon.social/@Shaos
30 Jan 2016 06:54
Profile WWW
Supreme God
User avatar

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

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

_________________
iLavr


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

Who is online

Users browsing this forum: No registered users and 11 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.