Comments 67
Ух, такому исходнику позавидуют даже самые изощренные адепты perl-а.
+36
Я думал, что Perl — это единственный язык, который выглядит одинаково до и после обфускации. Однако, нет :\
+2
Все хорошо, только вот пешки могут идти назад. Т.е. в случае стоящей пешки на e4 возможен ход e4 e3.
0
Я не делал контроля за ходом человека.
+9
и вот тут мне поперло (с)
А по теме, сильно конечно
А по теме, сильно конечно
+15
Чего????? O_o
Пешка? Назад? ФИДЕ поменяла правила?
Из «нестандартных ходов» в современных шахматах встречаются:
1) Рокировка (короткая и длинная) — плюс надо отслеживать соблюдение условий рокировки.
2) Первый ход пешки — на одну или на две клетки.
3) Вытекает из второго — «взятие на проходе» (en passant).
4) Превращение пешки на последней горизонтали в любую фигуру, кроме короля (в том числе и ещё имеющуюся на доске — т.е. второй ферзь официально разрешён).
P.S. Понял — Вы имели в виду, что игра как раз даёт возможность сделать запрещённый ход.
Пешка? Назад? ФИДЕ поменяла правила?
Из «нестандартных ходов» в современных шахматах встречаются:
1) Рокировка (короткая и длинная) — плюс надо отслеживать соблюдение условий рокировки.
2) Первый ход пешки — на одну или на две клетки.
3) Вытекает из второго — «взятие на проходе» (en passant).
4) Превращение пешки на последней горизонтали в любую фигуру, кроме короля (в том числе и ещё имеющуюся на доске — т.е. второй ферзь официально разрешён).
P.S. Понял — Вы имели в виду, что игра как раз даёт возможность сделать запрещённый ход.
0
«а игру я писал примерно две недели, правда с гигантскими перерывами» — вы только что очень сильно занизили мою самооценку.
+53
Буквально месяц назад подумывал написать игру на sed'e, но руки так и не дошли.
Но это что-то космическое, снимаю шляпу.
Я, кстати, записал небольшой фрагмент игры в демонстрационных целях, можете вставить в топик вместо видео, или записать свое: ascii.io/a/5088
Но это что-то космическое, снимаю шляпу.
Я, кстати, записал небольшой фрагмент игры в демонстрационных целях, можете вставить в топик вместо видео, или записать свое: ascii.io/a/5088
+3
А там моноширинного нет, а то все клетки сползли :)
0
Запишите из своей консоли, будет выглядеть почти так, как у вас (только там небольшие проблемы с русскими буквами).
0
Ай-ай чужие игры из под рута запускать. (:
+4
Я проверил код перед запуском! =)
+3
Мсье знает толк в шахматах!
+14
Кстати, а на брейнфаке шахматы уже писал кто-нибудь?
+4
Почему-то компьютер не закрылся от шаха ферзём, а просто подвинул своего ферзя. За что и был сурово съеден.
0
Оценка глубиной на один ход, он просто не смог просчитать эту ситуацию :)
0
Я чуть ниже ссылку разместил — мне кажется что вот это как раз и есть один ход ).
0
Не-не, имеется ввиду, что он перебирает свои ходы и смотрит какой лучше, но дальше не перебирает оценки соперника (это уже глубина 2).
0
Ааа, понятно. прошу прощения, неправильно понял. Думал он хотя бы шахи-то фиксирует. Хотя сеперь я понял, что это та же валидация хода человека.
0
Вообще, добавить оценку на второй шаг не так уж и сложно, там всё есть уже для этого :) Просто я уже как-то подустал :)
+1
То что вы вообще написали больше трёх строк уже подвиг на мой взгляд :)
Как я уже сказал — это гениально.
Как я уже сказал — это гениально.
+1
Ой, я забыл сказать, что на мой взгляд вы — просто гений. Я преклоняюсь перед вашими способностями! Спасибо!
+2
Вот тут можно трансляцию матча посмотреть: ascii.io/a/5089
+2
Вообще-то, по правилам шахмат, не закрыться от шаха — это запрещенный ход (а не просто неразумный). Точнее, если королю объявлен шах, то допустимо либо закрыться, либо отодвинуть короля, либо убить нападающую фигуру. Как-то так.
0
Мне тоже так вспоминается. Но не будем слишком строги :).
0
Когда захотите awk освоить, будете ММОРПГ писать? ;)
Вообще, очень круто! Две недели кажутся сильно жалким сроком для такого объёма работы
Вообще, очень круто! Две недели кажутся сильно жалким сроком для такого объёма работы
+8
Надо попробовать :-D
+1
Очень напомнило лабораторные работы по НАМ :)
sed + вечный цикл — это практически нормальные алгоритмы Маркова (Тьюринг-полный язык).
sed + вечный цикл — это практически нормальные алгоритмы Маркова (Тьюринг-полный язык).
0
0
Нормальные алгоритмы Маркова.
0
После ходов 1.е4 h5 2.Qf3 h4 3.Bc4 h3 4.Q:f7 черные в стиле гроссмейстера О. Бендера сделали ход Bf8:f7. Я был настолько обескуражен, что сдался.
+4
Вы уж не ждите от этого умственного упражнения многого :) Там даже анализ ваших ходов не производится, получается, что компьютер видит ваши фигуры только в тот момент, когда рубит.
0
Это я так, если вы захотите совершенствовать. Сам факт того, что вы сделали шахматы на sed-е вызывает восхищение.
+1
Ура! Болк — торт!
0
sed: 312: chess.sed: transform strings are not the same length
+1
Нужен sed с поддержкой utf-8
0
Я и не ожидал, что сейчас остались другие!
+1
Мсье bolk, вы, наверное, и более качественную реализацию шахмат писали, причем более удобным способом? Может быть сделаете статью? Было бы интересно узнать из первых уст о создании шахмат. Хотелось бы услышать именно про взаимосвязь движка и оболочки (графического исполнения), да и про саму оболочку тоже.
+1
Нет, не писал, увы :)
0
Наверняка по этой теме есть много книг, тема-то старая.
0
Там в основном про движок — про отсечение ненужных вариантов. А вот про то, как этот алгоритм передвигает фигуры по доске редко пишут. Именно визуализация идеи (причем не только шахмат) и интересует.
0
кстати, уже была ваша статья про шахматы: habrahabr.ru/post/128549/
и ваш пост «про пару недель не поспать» уже был: habrahabr.ru/post/128549/#comment_4251342
и ваш пост «про пару недель не поспать» уже был: habrahabr.ru/post/128549/#comment_4251342
0
Doom пока не обещаю :)
Шахматы были да, но там через сеть два человека друг с другом играли и баш всё-таки на пару порядков проще «седа» :)
Шахматы были да, но там через сеть два человека друг с другом играли и баш всё-таки на пару порядков проще «седа» :)
+1
Шахматы для шахматных оболочек я писал давным давно, там взаимодействие — текстовое через банальный ввод и вывод, который оболочка перенаправляет на себя, и может натравливать разные программы друг на друга.
0
Вот отсюда можно начинать копать: en.wikipedia.org/wiki/Universal_Chess_Interface
0
Шикарно, ты бог=)
+2
Спасибо!
0
Я уже начинаю сомневаться по поводу «недостаточно гик» :C
+1
Intel® Core(TM) i5-3210M CPU @ 2.50GHz, (lenovo tp x230)
linux gentoo 64b
linux gentoo 64b
4.25s user 0.01s system 99% cpu 4.284 total
0
В Линуксе, по-моему, гнушный сед, у меня с гнушным тоже результат лучше:
3.29 real 3.29 user 0.00 sys
0
А я-то думаю почему у меня результат как у автора. Похоже на правду:
model name: Intel® Core(TM)2 Duo CPU P8700 @ 2.53GHz
6.06user 0.00system 0:06.17elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
6.09user 0.00system 0:06.16elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
6.05user 0.02system 0:06.19elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
model name: Intel® Core(TM)2 Duo CPU P8700 @ 2.53GHz
6.06user 0.00system 0:06.17elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
6.09user 0.00system 0:06.16elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
6.05user 0.02system 0:06.19elapsed 98%CPU (0avgtext+0avgdata 33136maxresident)k
0
У меня эти шахматы больше похожи на space invaders


+2
Видимо шрифт не юникодный или консоль.
0
Жду Space Invaders!
+1
Хардкор, только хардкор :)
0
может напишите хороший туториал по sed?
+2
Пока сил на это нет :) Может потом попробую.
+1
Месячник квайнов закончился, теперь все за sed и awk возьмутся?
0
Извините, что не по теме, какой шрифт используется на скриншотах?
0
Есть серьёзное подозрение, что это Monaco. Косвенно подтверждается упоминанием мака.
0
Большое спасибо!
0
Так и есть, это Monaco :)
0
Да, в общем-то, не за что :)
0
Вы нереально круты. Я даже боюсь открывать исходник на ночь.
0
Я немного был в шоке, когда слон сделал ход f5 f3 и съел моего ферзя)))
Мои слоны тоже могут не по правилам ходить.
Вообще, снимаю шляпу.
Мои слоны тоже могут не по правилам ходить.
Вообще, снимаю шляпу.
+1
Тут видимо какой-то баг, я программу старался отладить, но баги всё же могут быть.
+1
VP of sed
0
Only those users with full accounts are able to leave comments. Log in, please.
Шахматы на чистом sed