- 1
for(i=-1;++i<n;)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+170
for(i=-1;++i<n;)
зачем? чтобы никто не догадался? или они думают, что в этом меньше символов чем в for(i=0;i<n;i++) ?
quest 04.09.2012 18:00 # +4
scriptin 04.09.2012 20:18 # +6
Кому интересно, зачем это может понадобиться: http://js1k.com/ - там в коллекции есть шахматы с ботом (я так и не смог понять, как они работают), 3d, платформеры, симуляторы, вольфенштейн и много других интересных вещей.
И я там был: http://js1k.com/2010-first/demo/719
bormand 04.09.2012 20:24 # +2
scriptin 04.09.2012 20:30 # 0
Возможно, автор пытался уменьшить толщину
3.14159265 04.09.2012 20:41 # +2
Ведь оно на сервер ничего не шлет, а бот играет довольно неплохо.
scriptin 04.09.2012 20:48 # +1
3.14159265 04.09.2012 21:23 # +2
PS. Сыграл штук партий. Играл быстро, почти не думая, но ни разу не ему слил (как-то позорно проиграть 1000 байтам, хоть я и был на грани).
Ибо алгоритм любит хавать фигуры, а угрозы матов как-то зевает. Потому я выигрывал даже в самых плохих ситуациях. А еще рокировок нету.
Раньше я думал гениев, способных сделать такое, на Земле вообще не существует.
bormand 04.09.2012 21:28 # 0
Тупая оценка по сумме стоимостей фигур?
3.14159265 04.09.2012 21:30 # 0
Я играл с ним чтобы любой ценой поставить мат.
Плюс он часто сам зевает.
3.14159265 04.09.2012 21:39 # 0
PS. Заметил - он очень любит слоном на b4 ставить шах.
bormand 04.09.2012 22:00 # +2
http://pastebin.com/TQBE3yBp
Если честно - совершенно не могу понять, что делает код ;)
Надо деобфусцировать его дальше...
UPD:
Первые 32 байта массива l - начальная позиция фигур.
3.14159265 04.09.2012 22:02 # +1
http://nanochess.110mb.com/archive/toledo_javascript_chess_3.html
1.d4, d5 2. c4 Kc6. 3.Kc3 d5-c4 4.Kf3 f5 5.e3 ce6 6.kg5 cf7 (зачем?) 7. kg5-f7 ke8-f7 8. cf1-c4 kf7-g6(зачем?) 9. e2-e4 итд
Играл раз 5. Каждый раз до этого место точь-в-точь. А дальше там выиграть несложно.
scriptin 04.09.2012 22:02 # 0
bormand 04.09.2012 21:15 # +1
1) генератор доступных ходов (заодно им можно прочекать ход человека);
2) оценка позиции с помощью какой-нибудь несложной эвристики;
3) собственно перебор на пару-тройку ходов и выбор лучшего варианта.
P.S. Хотелось бы раскурить код, но я сегодня не выспался...
scriptin 04.09.2012 22:03 # +1
bormand 04.09.2012 22:05 # 0
Только у меня такое ощущение, что такая статья уже есть на просторах инета.
scriptin 04.09.2012 22:10 # 0
bormand 09.09.2012 16:10 # +1
makc3d 04.09.2012 22:12 # +2
3.14159265 04.09.2012 22:12 # 0
bormand 04.09.2012 22:15 # 0
LispGovno 04.09.2012 22:37 # −2
Отписаться можно где-то в профиле, правда вообще от всего.