Pull to refresh

Comments 43

Серьёзно? Шахматный движок без прыжка пешек?
Серьёзно? Шахматный движок без прыжка пешек?

А какие ещё правила НЕ реализованы?

По ссылке есть ответы на все ваши вопросы.

Впрочем, извольте
Впрочем, извольте

Выпилить пару правил из движка - это недолго. Ваш бот играет предсказуемо слабо. У меня не StockFish, а сильно проще, но примерно по подходу описанному автором поста, с отсечениями, продолжениями и прочими транспозициями.

Скрытый текст
checkVersion: z2j=2 zrf-model.js:906:11
checkVersion: animate-captures=false zrf-model.js:906:11
checkVersion: smart-moves=false zrf-model.js:906:11
checkVersion: show-blink=false zrf-model.js:906:11
checkVersion: show-hints=false zrf-model.js:906:11
checkVersion: advisor-wait=25 zrf-model.js:906:11
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR+w+KQkq+- app-v5.js:622:23
e2-e3, v = 378, t = 0, ply = 1 garbo-ai-v2.js:751:13
e2-e3, v = 0, t = 1, ply = 2 garbo-ai-v2.js:751:13
e2-e3, v = 365, t = 3, ply = 3 garbo-ai-v2.js:751:13
e2-e3, v = 0, t = 7, ply = 4 garbo-ai-v2.js:751:13
e2-e3, v = 292, t = 12, ply = 5 garbo-ai-v2.js:751:13
g1-f3, v = 0, t = 39, ply = 6 garbo-ai-v2.js:751:13
g1-f3, v = 194, t = 54, ply = 7 garbo-ai-v2.js:751:13
g1-f3, v = 0, t = 109, ply = 8 garbo-ai-v2.js:751:13
g1-f3, v = 120, t = 154, ply = 9 garbo-ai-v2.js:751:13
b1-c3, v = 26, t = 602, ply = 10 garbo-ai-v2.js:751:13
Garbo: b1-c3, value = 26, time = 602, ply = 10 garbo-ai-v2.js:772:11
Advisor: b1-c3 app-v5.js:441:11
b1-c3 Knight app-v5.js:681:23
Автовоспроизведение разрешено только в случае подтверждения пользователем, активного пребывания пользователя на сайте или отключённого в видео звука. sound-manager-v2.js:29:20
Uncaught (in promise) DOMException: The play method is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnbqkbnr/pppppppp/8/8/8/2N5/PPPPPPPP/R1BQKBNR+b+KQkq+- app-v5.js:546:26
c7-c6 Pawn app-v5.js:681:23
Debug: c7-c6 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnbqkbnr/pp1ppppp/2p5/8/8/2N5/PPPPPPPP/R1BQKBNR+w+KQkq+- app-v5.js:622:23
e2-e3, v = 737, t = 1, ply = 1 garbo-ai-v2.js:751:13
e2-e3, v = 359, t = 3, ply = 2 garbo-ai-v2.js:751:13
e2-e3, v = 663, t = 4, ply = 3 garbo-ai-v2.js:751:13
e2-e3, v = 286, t = 8, ply = 4 garbo-ai-v2.js:751:13
g1-f3, v = 509, t = 14, ply = 5 garbo-ai-v2.js:751:13
g1-f3, v = 245, t = 28, ply = 6 garbo-ai-v2.js:751:13
g1-f3, v = 345, t = 52, ply = 7 garbo-ai-v2.js:751:13
e2-e3, v = 246, t = 91, ply = 8 garbo-ai-v2.js:751:13
e2-e3, v = 289, t = 290, ply = 9 garbo-ai-v2.js:751:13
e2-e3, v = 191, t = 930, ply = 10 garbo-ai-v2.js:751:13
Garbo: e2-e3, value = 191, time = 930, ply = 10 garbo-ai-v2.js:772:11
Advisor: e2-e3 app-v5.js:441:11
e2-e3 Pawn app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnbqkbnr/pp1ppppp/2p5/8/8/2N1P3/PPPP1PPP/R1BQKBNR+b+KQkq+- app-v5.js:546:26
d8-a5 Queen app-v5.js:681:23
Debug: d8-a5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppppp/2p5/q7/8/2N1P3/PPPP1PPP/R1BQKBNR+w+KQkq+- app-v5.js:622:23
d1-g4, v = 846, t = 0, ply = 1 garbo-ai-v2.js:751:13
f1-d3, v = 377, t = 0, ply = 2 garbo-ai-v2.js:751:13
f1-d3, v = 571, t = 0, ply = 3 garbo-ai-v2.js:751:13
f1-d3, v = 216, t = 3, ply = 4 garbo-ai-v2.js:751:13
g1-f3, v = 442, t = 6, ply = 5 garbo-ai-v2.js:751:13
g1-f3, v = 284, t = 33, ply = 6 garbo-ai-v2.js:751:13
g1-f3, v = 289, t = 49, ply = 7 garbo-ai-v2.js:751:13
g1-f3, v = 231, t = 93, ply = 8 garbo-ai-v2.js:751:13
g1-f3, v = 320, t = 215, ply = 9 garbo-ai-v2.js:751:13
g1-f3, v = 246, t = 499, ply = 10 garbo-ai-v2.js:751:13
Garbo: g1-f3, value = 246, time = 500, ply = 10 garbo-ai-v2.js:772:11
Advisor: g1-f3 app-v5.js:441:11
g1-f3 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppppp/2p5/q7/8/2N1PN2/PPPP1PPP/R1BQKB1R+b+KQkq+- app-v5.js:546:26
a5-h5 Queen app-v5.js:681:23
Debug: a5-h5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppppp/2p5/7q/8/2N1PN2/PPPP1PPP/R1BQKB1R+w+KQkq+- app-v5.js:622:23
f1-d3, v = 915, t = 0, ply = 1 garbo-ai-v2.js:751:13
f3-d4, v = 824, t = 1, ply = 2 garbo-ai-v2.js:751:13
f3-d4, v = 810, t = 1, ply = 3 garbo-ai-v2.js:751:13
f3-d4, v = 797, t = 2, ply = 4 garbo-ai-v2.js:751:13
f1-d3, v = 700, t = 10, ply = 5 garbo-ai-v2.js:751:13
f1-d3, v = 618, t = 44, ply = 6 garbo-ai-v2.js:751:13
f3-d4, v = 617, t = 77, ply = 7 garbo-ai-v2.js:751:13
f3-d4, v = 689, t = 119, ply = 8 garbo-ai-v2.js:751:13
f3-d4, v = 456, t = 820, ply = 9 garbo-ai-v2.js:751:13
f3-d4, v = 431, t = 1321, ply = 10 garbo-ai-v2.js:751:13
Garbo: f3-d4, value = 431, time = 1321, ply = 10 garbo-ai-v2.js:772:11
Advisor: f3-d4 app-v5.js:441:11
f3-d4 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppppp/2p5/7q/3N4/2N1P3/PPPP1PPP/R1BQKB1R+b+KQkq+- app-v5.js:546:26
h5-g5 Queen app-v5.js:681:23
Debug: h5-g5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppppp/2p5/6q1/3N4/2N1P3/PPPP1PPP/R1BQKB1R+w+KQkq+- app-v5.js:622:23
c3-e4, v = 1201, t = 1, ply = 1 garbo-ai-v2.js:751:13
c3-e4, v = 854, t = 3, ply = 2 garbo-ai-v2.js:751:13
c3-e4, v = 1053, t = 6, ply = 3 garbo-ai-v2.js:751:13
d1-f3, v = 793, t = 20, ply = 4 garbo-ai-v2.js:751:13
d1-f3, v = 882, t = 30, ply = 5 garbo-ai-v2.js:751:13
d1-f3, v = 706, t = 60, ply = 6 garbo-ai-v2.js:751:13
d1-f3, v = 800, t = 128, ply = 7 garbo-ai-v2.js:751:13
d1-f3, v = 607, t = 295, ply = 8 garbo-ai-v2.js:751:13
d1-f3, v = 693, t = 541, ply = 9 garbo-ai-v2.js:751:13
c3-e4, v = 589, t = 1891, ply = 10 garbo-ai-v2.js:751:13
Garbo: c3-e4, value = 589, time = 1891, ply = 10 garbo-ai-v2.js:772:11
Advisor: c3-e4 app-v5.js:441:11
c3-e4 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppppp/2p5/6q1/3NN3/4P3/PPPP1PPP/R1BQKB1R+b+KQkq+- app-v5.js:546:26
g5-a5 Queen app-v5.js:681:23
Debug: g5-a5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppppp/2p5/q7/3NN3/4P3/PPPP1PPP/R1BQKB1R+w+KQkq+- app-v5.js:622:23
f1-c4, v = 1105, t = 0, ply = 1 garbo-ai-v2.js:751:13
f1-c4, v = 771, t = 1, ply = 2 garbo-ai-v2.js:751:13
f1-c4, v = 850, t = 2, ply = 3 garbo-ai-v2.js:751:13
d1-g4, v = 735, t = 10, ply = 4 garbo-ai-v2.js:751:13
d1-g4, v = 680, t = 16, ply = 5 garbo-ai-v2.js:751:13
d1-g4, v = 695, t = 39, ply = 6 garbo-ai-v2.js:751:13
d1-g4, v = 577, t = 90, ply = 7 garbo-ai-v2.js:751:13
f1-d3, v = 592, t = 548, ply = 8 garbo-ai-v2.js:751:13
f1-d3, v = 486, t = 2071, ply = 9 garbo-ai-v2.js:751:13
Garbo: f1-d3, value = 486, time = 3001, ply = 9 garbo-ai-v2.js:772:11
Advisor: f1-d3 app-v5.js:441:11
f1-d3 Bishop app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppppp/2p5/q7/3NN3/3BP3/PPPP1PPP/R1BQK2R+b+KQkq+- app-v5.js:546:26
a5-b6 Queen app-v5.js:681:23
Debug: a5-b6 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppppp/1qp5/8/3NN3/3BP3/PPPP1PPP/R1BQK2R+w+KQkq+- app-v5.js:622:23
d1-h5, v = 1369, t = 0, ply = 1 garbo-ai-v2.js:751:13
d1-h5, v = 1079, t = 0, ply = 2 garbo-ai-v2.js:751:13
d1-h5, v = 1276, t = 1, ply = 3 garbo-ai-v2.js:751:13
d1-h5, v = 974, t = 11, ply = 4 garbo-ai-v2.js:751:13
d1-h5, v = 970, t = 28, ply = 5 garbo-ai-v2.js:751:13
d1-h5, v = 788, t = 120, ply = 6 garbo-ai-v2.js:751:13
d1-h5, v = 777, t = 177, ply = 7 garbo-ai-v2.js:751:13
d3-c4, v = 625, t = 1374, ply = 8 garbo-ai-v2.js:751:13
d1-h5, v = 593, t = 2313, ply = 9 garbo-ai-v2.js:751:13
Garbo: d1-h5, value = 593, time = 3002, ply = 9 garbo-ai-v2.js:772:11
Advisor: d1-h5 app-v5.js:441:11
d1-h5 Queen app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppppp/1qp5/7Q/3NN3/3BP3/PPPP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
g7-g6 Pawn app-v5.js:681:23
Debug: g7-g6 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1ppp1p/1qp3p1/7Q/3NN3/3BP3/PPPP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
h5-e5, v = 1276, t = 0, ply = 1 garbo-ai-v2.js:751:13
h5-e5, v = 1292, t = 1, ply = 2 garbo-ai-v2.js:751:13
h5-e5, v = 1597, t = 1, ply = 3 garbo-ai-v2.js:751:13
h5-e5, v = 1516, t = 1, ply = 4 garbo-ai-v2.js:751:13
h5-e5, v = 1029, t = 5, ply = 5 garbo-ai-v2.js:751:13
h5-e5, v = 1029, t = 16, ply = 6 garbo-ai-v2.js:751:13
h5-e5, v = 1029, t = 31, ply = 7 garbo-ai-v2.js:751:13
h5-e5, v = 869, t = 98, ply = 8 garbo-ai-v2.js:751:13
h5-e5, v = 794, t = 216, ply = 9 garbo-ai-v2.js:751:13
h5-e5, v = 889, t = 399, ply = 10 garbo-ai-v2.js:751:13
Garbo: h5-e5, value = 889, time = 399, ply = 10 garbo-ai-v2.js:772:11
Advisor: h5-e5 app-v5.js:441:11
h5-e5 Queen app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1ppp1p/1qp3p1/4Q3/3NN3/3BP3/PPPP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
f7-f6 Pawn app-v5.js:681:23
Debug: f7-f6 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1pp2p/1qp2pp1/4Q3/3NN3/3BP3/PPPP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
e4-d6, v = 1597, t = 1, ply = 1 garbo-ai-v2.js:751:13
e4-d6, v = 1029, t = 2, ply = 1 garbo-ai-v2.js:751:13
e4-d6, v = 1029, t = 3, ply = 2 garbo-ai-v2.js:751:13
e4-d6, v = 1029, t = 3, ply = 3 garbo-ai-v2.js:751:13
e4-d6, v = 1029, t = 4, ply = 4 garbo-ai-v2.js:751:13
e4-d6, v = 1029, t = 5, ply = 5 garbo-ai-v2.js:751:13
e4-d6, v = 869, t = 30, ply = 6 garbo-ai-v2.js:751:13
e4-d6, v = 794, t = 51, ply = 7 garbo-ai-v2.js:751:13
e4-d6, v = 889, t = 80, ply = 8 garbo-ai-v2.js:751:13
e5-f4, v = 623, t = 376, ply = 9 garbo-ai-v2.js:751:13
e5-f4, v = 561, t = 2729, ply = 10 garbo-ai-v2.js:751:13
Garbo: e5-f4, value = 561, time = 2729, ply = 10 garbo-ai-v2.js:772:11
Advisor: e5-f4 app-v5.js:441:11
e5-f4 Queen app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1pp2p/1qp2pp1/8/3NNQ2/3BP3/PPPP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
b6-b4 Queen app-v5.js:681:23
Debug: b6-b4 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=rnb1kbnr/pp1pp2p/2p2pp1/8/1q1NNQ2/3BP3/PPPP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
e4-c3, v = 1371, t = 2, ply = 1 garbo-ai-v2.js:751:13
c2-c3, v = 1187, t = 5, ply = 2 garbo-ai-v2.js:751:13
a2-a3, v = 1400, t = 8, ply = 3 garbo-ai-v2.js:751:13
a2-a3, v = 1066, t = 17, ply = 4 garbo-ai-v2.js:751:13
a2-a3, v = 1198, t = 21, ply = 5 garbo-ai-v2.js:751:13
e4-c3, v = 986, t = 85, ply = 6 garbo-ai-v2.js:751:13
a2-a3, v = 1088, t = 195, ply = 7 garbo-ai-v2.js:751:13
e4-c3, v = 931, t = 640, ply = 8 garbo-ai-v2.js:751:13
e4-c3, v = 950, t = 1921, ply = 9 garbo-ai-v2.js:751:13
Garbo: e4-c3, value = 950, time = 3001, ply = 9 garbo-ai-v2.js:772:11
Advisor: e4-c3 app-v5.js:441:11
e4-c3 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=rnb1kbnr/pp1pp2p/2p2pp1/8/1q1N1Q2/2NBP3/PPPP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
b8-a6 Knight app-v5.js:681:23
Debug: b8-a6 Knight app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b1kbnr/pp1pp2p/n1p2pp1/8/1q1N1Q2/2NBP3/PPPP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
a2-a3, v = 1311, t = 0, ply = 1 garbo-ai-v2.js:751:13
a2-a3, v = 1202, t = 1, ply = 2 garbo-ai-v2.js:751:13
a2-a3, v = 1301, t = 1, ply = 3 garbo-ai-v2.js:751:13
a2-a3, v = 964, t = 2, ply = 4 garbo-ai-v2.js:751:13
a2-a3, v = 1057, t = 3, ply = 5 garbo-ai-v2.js:751:13
a2-a3, v = 902, t = 5, ply = 6 garbo-ai-v2.js:751:13
a2-a3, v = 899, t = 15, ply = 7 garbo-ai-v2.js:751:13
b2-b3, v = 853, t = 142, ply = 8 garbo-ai-v2.js:751:13
a2-a3, v = 876, t = 909, ply = 9 garbo-ai-v2.js:751:13
a2-a3, v = 812, t = 2024, ply = 10 garbo-ai-v2.js:751:13
Garbo: a2-a3, value = 812, time = 2024, ply = 10 garbo-ai-v2.js:772:11
Advisor: a2-a3 app-v5.js:441:11
a2-a3 Pawn app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b1kbnr/pp1pp2p/n1p2pp1/8/1q1N1Q2/P1NBP3/1PPP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
b4-c5 Queen app-v5.js:681:23
Debug: b4-c5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b1kbnr/pp1pp2p/n1p2pp1/2q5/3N1Q2/P1NBP3/1PPP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
d4-b3, v = 1338, t = 0, ply = 1 garbo-ai-v2.js:751:13
h2-h3, v = 1072, t = 1, ply = 2 garbo-ai-v2.js:751:13
e1-f1, v = 1232, t = 3, ply = 3 garbo-ai-v2.js:751:13
b2-b3, v = 944, t = 16, ply = 4 garbo-ai-v2.js:751:13
e1-f1, v = 1065, t = 41, ply = 5 garbo-ai-v2.js:751:13
b2-b3, v = 885, t = 371, ply = 6 garbo-ai-v2.js:751:13
b2-b3, v = 935, t = 598, ply = 7 garbo-ai-v2.js:751:13
b2-b3, v = 861, t = 1739, ply = 8 garbo-ai-v2.js:751:13
b2-b3, v = 902, t = 2886, ply = 9 garbo-ai-v2.js:751:13
Garbo: b2-b3, value = 902, time = 3001, ply = 9 garbo-ai-v2.js:772:11
Advisor: b2-b3 app-v5.js:441:11
b2-b3 Pawn app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b1kbnr/pp1pp2p/n1p2pp1/2q5/3N1Q2/PPNBP3/2PP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
e7-e6 Pawn app-v5.js:681:23
Debug: e7-e6 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b1kbnr/pp1p3p/n1p1ppp1/2q5/3N1Q2/PPNBP3/2PP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
b3-b4, v = 1163, t = 0, ply = 1 garbo-ai-v2.js:751:13
b3-b4, v = 944, t = 0, ply = 2 garbo-ai-v2.js:751:13
b3-b4, v = 996, t = 1, ply = 3 garbo-ai-v2.js:751:13
b3-b4, v = 885, t = 4, ply = 4 garbo-ai-v2.js:751:13
b3-b4, v = 935, t = 8, ply = 5 garbo-ai-v2.js:751:13
b3-b4, v = 846, t = 34, ply = 6 garbo-ai-v2.js:751:13
b3-b4, v = 820, t = 135, ply = 7 garbo-ai-v2.js:751:13
f4-h4, v = 673, t = 1431, ply = 8 garbo-ai-v2.js:751:13
f4-h4, v = 753, t = 1755, ply = 9 garbo-ai-v2.js:751:13
Garbo: f4-h4, value = 753, time = 3027, ply = 9 garbo-ai-v2.js:772:11
Advisor: f4-h4 app-v5.js:441:11
f4-h4 Queen app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b1kbnr/pp1p3p/n1p1ppp1/2q5/3N3Q/PPNBP3/2PP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
a6-c7 Knight app-v5.js:681:23
Debug: a6-c7 Knight app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b1kbnr/ppnp3p/2p1ppp1/2q5/3N3Q/PPNBP3/2PP1PPP/R1B1K2R+w+KQkq+- app-v5.js:622:23
d3-g6, v = 2121, t = 0, ply = 1 garbo-ai-v2.js:751:13
d3-g6, v = 2121, t = 1, ply = 2 garbo-ai-v2.js:751:13
d3-g6, v = 1976, t = 2, ply = 3 garbo-ai-v2.js:751:13
d3-g6, v = 1823, t = 10, ply = 4 garbo-ai-v2.js:751:13
d3-g6, v = 1657, t = 20, ply = 5 garbo-ai-v2.js:751:13
d3-g6, v = 1771, t = 75, ply = 6 garbo-ai-v2.js:751:13
d3-g6, v = 1557, t = 199, ply = 7 garbo-ai-v2.js:751:13
d3-g6, v = 1717, t = 340, ply = 8 garbo-ai-v2.js:751:13
d3-g6, v = 1523, t = 916, ply = 9 garbo-ai-v2.js:751:13
d3-g6, v = 1600, t = 2502, ply = 10 garbo-ai-v2.js:751:13
Garbo: d3-g6, value = 1600, time = 2502, ply = 10 garbo-ai-v2.js:772:11
Advisor: d3-g6 app-v5.js:441:11
d3-g6 Bishop app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b1kbnr/ppnp3p/2p1ppB1/2q5/3N3Q/PPN1P3/2PP1PPP/R1B1K2R+b+KQkq+- app-v5.js:546:26
e8-e7 King app-v5.js:681:23
Debug: e8-e7 King app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b2bnr/ppnpk2p/2p1ppB1/2q5/3N3Q/PPN1P3/2PP1PPP/R1B1K2R+w+KQ--+- app-v5.js:622:23
g6-h7, v = 2396, t = 1, ply = 1 garbo-ai-v2.js:751:13
c3-e4, v = 2186, t = 2, ply = 2 garbo-ai-v2.js:751:13
g6-h7, v = 2214, t = 6, ply = 3 garbo-ai-v2.js:751:13
g6-h7, v = 1985, t = 24, ply = 4 garbo-ai-v2.js:751:13
g6-h7, v = 2090, t = 38, ply = 5 garbo-ai-v2.js:751:13
g6-h7, v = 2008, t = 67, ply = 6 garbo-ai-v2.js:751:13
g6-h7, v = 2078, t = 134, ply = 7 garbo-ai-v2.js:751:13
d4-f3, v = 1833, t = 787, ply = 8 garbo-ai-v2.js:751:13
c3-e4, v = 1998, t = 1993, ply = 9 garbo-ai-v2.js:751:13
c3-e4, v = 1889, t = 2871, ply = 10 garbo-ai-v2.js:751:13
Garbo: c3-e4, value = 1889, time = 2871, ply = 10 garbo-ai-v2.js:772:11
Advisor: c3-e4 app-v5.js:441:11
c3-e4 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b2bnr/ppnpk2p/2p1ppB1/2q5/3NN2Q/PP2P3/2PP1PPP/R1B1K2R+b+KQ--+- app-v5.js:546:26
c5-e5 Queen app-v5.js:681:23
Debug: c5-e5 Queen app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b2bnr/ppnpk2p/2p1ppB1/4q3/3NN2Q/PP2P3/2PP1PPP/R1B1K2R+w+KQ--+- app-v5.js:622:23
g6-h7, v = 2208, t = 0, ply = 1 garbo-ai-v2.js:751:13
g6-h7, v = 1823, t = 0, ply = 2 garbo-ai-v2.js:751:13
e4-c3, v = 1819, t = 11, ply = 3 garbo-ai-v2.js:751:13
e4-c3, v = 1688, t = 19, ply = 4 garbo-ai-v2.js:751:13
c2-c3, v = 1706, t = 43, ply = 5 garbo-ai-v2.js:751:13
c1-b2, v = 1911, t = 110, ply = 6 garbo-ai-v2.js:751:13
c1-b2, v = 1998, t = 143, ply = 7 garbo-ai-v2.js:751:13
c1-b2, v = 1889, t = 214, ply = 8 garbo-ai-v2.js:751:13
c1-b2, v = 2065, t = 485, ply = 9 garbo-ai-v2.js:751:13
c1-b2, v = 2138, t = 956, ply = 10 garbo-ai-v2.js:751:13
Garbo: c1-b2, value = 2138, time = 956, ply = 10 garbo-ai-v2.js:772:11
Advisor: c1-b2 app-v5.js:441:11
c1-b2 Bishop app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b2bnr/ppnpk2p/2p1ppB1/4q3/3NN2Q/PP2P3/1BPP1PPP/R3K2R+b+KQ--+- app-v5.js:546:26
c6-c5 Pawn app-v5.js:681:23
Debug: c6-c5 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b2bnr/ppnpk2p/4ppB1/2p1q3/3NN2Q/PP2P3/1BPP1PPP/R3K2R+w+KQ--+- app-v5.js:622:23
d4-c6, v = 8239, t = 0, ply = 1 garbo-ai-v2.js:751:13
d4-c6, v = 8239, t = 1, ply = 2 garbo-ai-v2.js:751:13
d4-c6, v = 8764, t = 2, ply = 2 garbo-ai-v2.js:751:13
d4-c6, v = 8764, t = 4, ply = 3 garbo-ai-v2.js:751:13
d4-c6, v = 8764, t = 6, ply = 4 garbo-ai-v2.js:751:13
d4-c6, v = 8864, t = 17, ply = 5 garbo-ai-v2.js:751:13
d4-c6, v = 8845, t = 59, ply = 6 garbo-ai-v2.js:751:13
d4-c6, v = 8845, t = 89, ply = 7 garbo-ai-v2.js:751:13
d4-c6, v = 8845, t = 165, ply = 8 garbo-ai-v2.js:751:13
d4-c6, v = 9045, t = 595, ply = 9 garbo-ai-v2.js:751:13
d4-c6, v = 9345, t = 1208, ply = 10 garbo-ai-v2.js:751:13
Garbo: d4-c6, value = 9345, time = 1208, ply = 10 garbo-ai-v2.js:772:11
Advisor: d4-c6 app-v5.js:441:11
d4-c6 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b2bnr/ppnpk2p/2N1ppB1/2p1q3/4N2Q/PP2P3/1BPP1PPP/R3K2R+b+KQ--+- app-v5.js:546:26
d7-c6 Pawn app-v5.js:681:23
Debug: d7-c6 Pawn app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b2bnr/ppn1k2p/2p1ppB1/2p1q3/4N2Q/PP2P3/1BPP1PPP/R3K2R+w+KQ--+- app-v5.js:622:23
b2-e5, v = 8373, t = 1, ply = 1 garbo-ai-v2.js:751:13
b2-e5, v = 8864, t = 5, ply = 2 garbo-ai-v2.js:751:13
b2-e5, v = 8864, t = 9, ply = 3 garbo-ai-v2.js:751:13
b2-e5, v = 8864, t = 15, ply = 4 garbo-ai-v2.js:751:13
b2-e5, v = 9230, t = 22, ply = 5 garbo-ai-v2.js:751:13
b2-e5, v = 9356, t = 35, ply = 6 garbo-ai-v2.js:751:13
b2-e5, v = 9286, t = 72, ply = 7 garbo-ai-v2.js:751:13
b2-e5, v = 9181, t = 148, ply = 8 garbo-ai-v2.js:751:13
b2-e5, v = 9345, t = 216, ply = 9 garbo-ai-v2.js:751:13
b2-e5, v = 9195, t = 742, ply = 10 garbo-ai-v2.js:751:13
Garbo: b2-e5, value = 9195, time = 742, ply = 10 garbo-ai-v2.js:772:11
Advisor: b2-e5 app-v5.js:441:11
b2-e5 Bishop app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b2bnr/ppn1k2p/2p1ppB1/2p1B3/4N2Q/PP2P3/2PP1PPP/R3K2R+b+KQ--+- app-v5.js:546:26
c7-b5 Knight app-v5.js:681:23
Debug: c7-b5 Knight app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r1b2bnr/pp2k2p/2p1ppB1/1np1B3/4N2Q/PP2P3/2PP1PPP/R3K2R+w+KQ--+- app-v5.js:622:23
e5-f6, v = 9510, t = 0, ply = 1 garbo-ai-v2.js:751:13
e4-f6, v = 12684, t = 2, ply = 1 garbo-ai-v2.js:751:13
e4-f6, v = 12684, t = 2, ply = 2 garbo-ai-v2.js:751:13
e4-f6, v = 12684, t = 4, ply = 3 garbo-ai-v2.js:751:13
e4-f6, v = 13041, t = 9, ply = 4 garbo-ai-v2.js:751:13
e4-f6, v = 13103, t = 17, ply = 5 garbo-ai-v2.js:751:13
e4-f6, v = 12817, t = 28, ply = 6 garbo-ai-v2.js:751:13
e4-f6, v = 13461, t = 45, ply = 6 garbo-ai-v2.js:751:13
e4-f6, v = 13461, t = 46, ply = 7 garbo-ai-v2.js:751:13
e4-f6, v = 13457, t = 89, ply = 8 garbo-ai-v2.js:751:13
e4-f6, v = 14091, t = 215, ply = 8 garbo-ai-v2.js:751:13
e4-f6, v = 14091, t = 216, ply = 9 garbo-ai-v2.js:751:13
e4-f6, v = 14186, t = 428, ply = 10 garbo-ai-v2.js:751:13
Garbo: e4-f6, value = 14186, time = 428, ply = 10 garbo-ai-v2.js:772:11
Advisor: e4-f6 app-v5.js:441:11
e4-f6 Knight app-v5.js:681:23
Player: Black app-v5.js:544:22
Setup: ?turn=1;&setup=r1b2bnr/pp2k2p/2p1pNB1/1np1B3/7Q/PP2P3/2PP1PPP/R3K2R+b+KQ--+- app-v5.js:546:26
h7-g6, v = -12684, t = 1, ply = 1 garbo-ai-v2.js:751:13
h7-g6, v = -12684, t = 1, ply = 2 garbo-ai-v2.js:751:13
e7-d8, v = -13041, t = 5, ply = 3 garbo-ai-v2.js:751:13
h7-g6, v = -13357, t = 11, ply = 4 garbo-ai-v2.js:751:13
h7-g6, v = -13469, t = 16, ply = 5 garbo-ai-v2.js:751:13
h7-g6, v = -13469, t = 25, ply = 6 garbo-ai-v2.js:751:13
h7-g6, v = -13573, t = 33, ply = 7 garbo-ai-v2.js:751:13
Garbo: h7-g6, value = -13573, time = 3001, ply = 7 garbo-ai-v2.js:772:11
Advisor: h7-g6 app-v5.js:441:11
c8-d7 Bishop app-v5.js:681:23
Debug: c8-d7 Bishop app-v5.js:703:27
Player: White app-v5.js:620:19
Setup: ?turn=0;&setup=r4bnr/pp1bk2p/2p1pNB1/1np1B3/7Q/PP2P3/2PP1PPP/R3K2R+w+KQ--+- app-v5.js:622:23
f6-g8, v = 1999990, t = 0, ply = 1 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 2 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 3 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 4 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 5 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 6 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 7 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 8 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 0, ply = 9 garbo-ai-v2.js:751:13
f6-g8, v = 1999990, t = 1, ply = 10 garbo-ai-v2.js:751:13
Garbo: f6-g8, value = 1999990, time = 1, ply = 10 garbo-ai-v2.js:772:11
Advisor: f6-g8 app-v5.js:441:11
f6-g8 Knight app-v5.js:681:23

результат налицо...

А вы этими картинками и нейрослопом что сказать-то хотели? Что ваш бот c хз каким лимитом времени на ход смог выиграть целую одну партию у моего? Ну поздравляю, чо.

Обидно, да? Раскладку по времени можно посмотреть в логе под спойлером (подсказка: много времени на то чтобы справиться с вашим ботом не потребовалось). Да и собственно, кто ограничивает по времени ваш бот? Не очень понятно, в каком месте вы углядели нейрослоп? Картинки я заскриншотил с вашего и своего ботов и собственноручно подредактировал в paint-е (старой версии без нейросеток). Бот мой также нейросетей не использует, а тексты я пишу сам (такой вот старомодный и жадный, да). Кстати, вы заметили, что картинки отличаются? Это по той причине, что мат ваша игра тоже не определяет. Получив красивый вскрытый мат с двойным шахом, ваша замечательная программа этого даже не поняла и съела коня, позволив съесть короля ферзём (ну, такая себе реализация Шахмат).

Мой бот думает столько же сколько и человек +1 секунду.

Нейрослоп в портянке кода, который вы «пилили» не более нескольких часов.

Вы не поверите, но даже проиграть можно с разным счетом.

Мой добрый друг, когда я пилил эту портянку нейрослопов ещё не было. Разумеется, за основу был взят готовый движок. Который нещадно допиливался чтобы покрыть всё это. Теперь его папа родная не узнает, но зато мне хватит пары минут, чтобы отключить прыжки пешек, рокировки и прочие финтифлюшки. По сравнению с этим, всё это такая ерунда, право слово. А так-то проект продолжается с 2017 году (если не считать предысторию). Так что с нейрослопом вы обоср... ткнули пальцем в нёбо.

От того, что вы копипастили говнокод руками, он от этого меньшим нейрослопом не стал.

Еще раз для особо одарённых: когда это писалось никакого нейрослопа не было. Код именно что писался руками, а не копипастился.

Да-да 2К строк ченьжсета за пару часов. Вроде бы взрослый человек, а паясничаете как дитё малое.

Вы между строк читаете да? Какая пара часов? Проекту лет 15 из них лет 10 движку бота. Все "легаси" (как Вы их называете) ходы отключаются флагом, за пару минут. Флагом они закрыты именно потому, что есть варианты, в которых этих ходов быть не должно. Сделано это тоже давным давно, можно посмотреть по истории git-а. Ну и кто тут дитё малое?

3 года, если точнее. Ой, ну вы же знаете, как работает копипаста. Сравните с этим и этим, а заодно посмотрите историю. Кстати, вот это - тоже НЕ нейрослоп, а вполне себе кодогенерация из вот этого. Собственно, с этого проект и начинался.

Ах да, 2K строк, это копипаст да, моего же кода. Просто чтобы ваш вариант шахмат (вы заметили как я его назвал?) лежал отдельно от нормального и ни с кем не путался, ага.

Счёт? В одной партии в Шахматы??? Ну-ну, просветите меня?

Оценка стоимости фигур есть в любом боте, даже в вашем. Текущий счёт является разностью стоимости фигур противников. Отображается в шапке. Вы, когда влезаете в спор, хоть бы ознакомились с критикуемым предметом.

Это называется оценкой материала (и кроме неё есть ещё оценка мобильности). Меряется в попугаях, в каждом боте по своему. Счёт? Ну не вопрос, можете называть это так.

При слабом сопернике можно поставить мат ходу примерно на третьем, взяв одну пешку или не взяв ничего. Счёт при этом будет показывать минимальный разрыв, который никак не соотносится с фактической разницей уровня игроков.

Не нужно быть шахматным гением, чтобы обыграть столь слабого противника.

Вы про своего бота? Самокритично...

Ну то есть счёт в общем случае не говорит о разнице уровней соперников, это не футбол или бег.

Одноногий бегун обогнал безногого. Двуногий тоже его обогнал. Значит ли этого, что вторая нога погоды не делает, и одноногий имеет столь же большой отрыв по уровню, сколь и двуногий?

Как видите введение счёта мотивирует профи не просто сделать по быстрее мат королю, а играть более рисковано, чтобы съесть больше фигур.

Мы присутствуем при всё новых и новых инновациях в шахматной мысли...

Скрытый текст

Одноногий бегун обогнал безногого. Двуногий тоже его обогнал.

Но разница во времени у них будет разной. И мы можем, опираясь на неё, определить разницу в уровнях. С шахматами такого сделать не получится.

Как видите введение счёта

Превращает шахматы в другую игру с другими критериями победы.

Критерий победы тот же самый. Впрочем, не вам, адептам таких нововведений 15 века, как рокировка и двойной ход пешки, строить из себя пуританина.

Тот же самый это какой? Словами сформулируйте.

Критерий победы тот же самый.

Тогда зачем вам нужен счёт, если он в общем случае ничего не говорит об уровне игроков? В беге мы можем посмотреть на результат и увидеть, что двуногий быстрее одноногого на 5 секунд и быстрее безногого на 15. Отсюда мы видим разрыв в их уровнях: чем больше разница во времени, тем больше разрыв. То же самое в видах спорта, где нет времени, но есть счёт неких промежуточных побед: Аргентина выигрывает у Ямайки со счётом 5:0, у команды спортшколы №24 - со счётом 15:0.

А теперь мы берём гроссмейстера и сажаем его против пятилетнего ребенка - получаем детский мат с разрывом в одно очко. Теперь того же гроссмейстера сажаем против какого-нибудь КМС - получаем разницу очков в двадцать. Сажаем его против такого же гроссмейстера - получаем разницу, скажем, в пять очков. То есть счёт в шахматах нам не говорит ровным счётом ничего о разнице уровня игроков. И даже число побед нам ничего не скажет.

Вы бы хоть одну партию сыграли, прежде чем нейрослопить тут про разницу в 1 очко.

 Текущий счёт является разностью стоимости фигур противников.

А какая, по-вашему, будет разница в счёте при детском мате, когда из взятых фигур только одна пешка?

Так вот про "счёт": В Шахматах, никого не волнует кто у кого чего и сколько съел, если на доске стоит мат. Если мат не стоит, впрочем, не волнует тоже. Игра завершается или победой или вничью. Разумеется, существуют шахматные игры, в которых по оставшимся фигурам подсчитываются очки, но Шахматы к ним не относятся. В свете этого, ваше высказывание про "проиграть с разным счётом" выглядит максимально странно.

Выпиливаем это легаси.

он их намеренно спилил.

Ну и прекрасно, но при чём тут Шахматы? Другая игра и предлагать поиграть в неё "мастерам шах-фу" граничит с издевательством.

Про варианты шахмат я знаю побольше вашего. Но вот конкретно предложенный вами вариант мне не нравится. Кастрированный он какой-то. Похоже, что вместе с водой вы выплеснули из Шахмат ребёнка. Ещё больше мне не нравится, что вы предлагаете в нём посоревноваться шахматистам, будто не понимаете насколько такие изменения правил ломают игру. И уже совсем за гранью ваш комментарий о том, что "всё гораздо проще" (с лёгкой саморекламой, конечно). Вы, имея самое поверхностное понимание как Шахмат, так и опыта разработки шахматных движков, позволяете себе давать советы вселенской наглости и глупости.

Если знаете, то чего дурачком прикидываетесь?

Да-да, вся суть шахмат в рокировке и взятии пешек на проходе.

Ну тут явно кто-то другой кем-то прикидывается (если знает конечно). С вашим ботом кто нибудь из шахматистов разрядников играл (или все сразу предали его анафеме?)

Я не уточнял регалии, но думаю да. Хотя он и не является целевой аудиторией, но отзыв был положительным.

Ну хоть один нашёлся (удивительно конечно)

В этом цикле статей не ставится цель описать простую программу. А прежде всего указать основные методы формирующие сильные программы. Сначала только база. Само изложение тоже выбрано попроще, “на пальцах”. Но в последних частях мы и до кода Стокфиша доберемся.

там внутри человек сидел

Sign up to leave a comment.

Articles