|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Шахматы в 1 кБ на JS. Это реально. Я в начале не поверил. Потом посмотрел код. - Реально. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 04:04 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
автор <canvas id="c"></canvas> <script>for(B=i=y=u=b=i=5-5,x=10,I=[],l=[];l[B]="ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK IDHGFE".charCodeAt(B)-64,B++<120;I[B-1]=B%x?B/x%x<2|B%x<2?7:B/x&4?0:l[i++]: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;++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 78-h<<x;n=G|(c?T>29:T<91)?o:6^c;S=(R&&l[R&7|32]*2-h-G)+(G?0:n-o?110:(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)",50);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))return N}while(!R&G>2||(T=O,(G||A>2|(c?O>78:O<41)&!R)&&++C*--A))}return N}function W(){i="<table>";for(u=18;u<98;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()</script> ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 04:05 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Пока разобрался, что вся шахматная доска формируется циклом, в котором меняется 1 цифра в цвете клетки и прорисовываются шахматные фигуры из Юнкода. function W() Занимает приблизительно - одну четвёртую кода ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 04:49 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
При нажатии происходит: I[b=21]>8?W():X(0,0,1) I[b=22]>8?W():X(0,0,1) и тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 04:59 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM - это разметка фигур со сдвигом их по табличке символов до шахматных знаков ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 06:55 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 07:16 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Шахматный пакет Toledo Javascript. 10 мая 2013 г. Оскар Толедо Г. biyubi@gmail.com (c) Авторские права 2009-2013 Оскар Толедо Г. Этот пакет содержит следующие файлы: toledo_javascript_chess_3.html Toledo Javascript Chess, используя только Unicode графика для отображения фигур. 2299 байт. toledo_javascript_chess_1.html Toledo Javascript Chess, используя только буквы для отображение частей. 2159 байт. toledo_javascript_chess_2.html Toledo Javascript Chess, используя графику для экспонаты. 3130 байт. 0.gif Пустой квадрат 1.gif Черная пешка 2.gif Черный король 3.gif Черный рыцарь 4.gif Черный слон 5.gif Черная ладья 6.gif Черная королева 9.gif Белая пешка 10.gif Белый король 11.gif Белый рыцарь 12.gif Белый слон 13.gif Белая ладья 14.gif Белая королева Части GIF могут быть размером до 40x40 пикселей. (в настоящее время 8x8 для экономии места) tiny_chess_1.html Крошечные шахматы (1023 байта Javascript!) Программа отправлена на конкурс JS1K, заняла 2 место! Проверьте это на: http://js1k.com/ http://js1k.com/demo/750/ Играйте в шахматы против компьютера по акции только ферзь и без рокировки и без прохода. Щелкните исходный квадрат, а затем целевой квадрат для перемещения кусок, это будет подтверждать ходы. Использует графику Unicode для шахматных фигур. tiny_chess_2.html Та же программа, но с рокировкой и на проходе, только использует 1251 байт Javascript !. readme.txt Этот файл. Уровень игры всех программ фиксирован на 3-х слойной глубине, можно увеличьте его, редактируя исходный код (только если у вас очень быстрый браузер). Посетите http://www.nanochess.org для получения дополнительной информации и других интересные биты. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 07:28 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Расшифровка кода есть. Но насколько я понял - в его книге. А книгу он продаёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 07:46 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
"+(I[u]?9808+l[67+I[u]]:160) - это то что будет изображено в клетке Если I[u] не существует - то будет неразрывный пробел. Если I[u] существует 9808+l[67+I[u]] ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 08:40 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Непонятно возбуждение. В демо-сценах есть и более впечатляющие примеры. Например kkrieger. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 09:22 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Alibek B., у вас есть описание кода? Алгоритм. Я не нашёл. Ковыряю потихоньку код. Делюсь Что не так? Любите стрелялки? - Я не против ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 16:05 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Разочарование... Это как фокус... Я частично разобрался в коде... - Не получил никаких новых знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 19:04 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
miltorg Это как фокус... Я частично разобрался в коде... - Не получил никаких новых знаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 19:24 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
вадя, Ну например вместо простого массива - пишется цикл. for ( B = i = y = u = b = i = 5 - 5, x = 10, I = [], l = []; l[B] = "ECDFBDCEAAAAAAAAIIIIIIIIMKLNJLKM@G@TSb~?A6J57IKJT576,+-48HLSUmgukgg OJNMLK IDHGFE".charCodeAt(B) - 64, B++ < 120; I[B - 1] = B % x ? B / x % x < 2 | B % x < 2 ? 7 : B / x & 4 ? 0 : l[i++] : 7 ); вместо: l= [5,3,4,6,2,4,3,5,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,13, 11,12,14,10,12,11,13,0,7,0,20,19,34,62,-1,1,-10,10,-11,-9,9,11,10,20,-11,-9,-10,-20,-21,-19,-12,-8,8,12,19,21,45,39,53,43,39,39,-32,15,10,14,13,12,11,-32,-32,9,4,8,7,6,5,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN, NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN, NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN]; I = [7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,3,4,6,2,4,3,5,7,7,1,1,1,1, 1,1,1,1,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0, 0,0,0,0,0,0,7,7,9,9,9,9,9,9,9,9,7,7,13,11,12,14,10,12,11,13,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7]; ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 19:50 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
Там таких фокусов - очень много. То есть код искусственно искажается чтоб получить минимальный размер. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 19:53 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
miltorg, ну с построением, это не сложно, это я разобрался я не нашел как обрабатываются события ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 20:09 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
вадя, Я ведь писал: авторПри нажатии происходит: I[b=21]>8?W():X(0,0,1) I[b=22]>8?W():X(0,0,1) и тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 20:10 |
|
Шахматы в 1 кБ на JS. Это реально.
|
|||
---|---|---|---|
#18+
miltorg, гы ! в элементах поленился развернуть таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 20:16 |
|
|
start [/forum/topic.php?fid=22&fpage=7&tid=1443382]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 420ms |
0 / 0 |