Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Частным случаем этой ситуации является отказ игрока от выполнения всего составного хода (в некоторых играх, например в «Го», это допускается).
Кстати говоря, метод toString у хода может быть нетривиален, и требовать рассмотрения легальности других ходов на доске. Пример из шахмат: пусть есть две белых ладьи, a4 и h4. Если одна из них идет на e4, то по правилам краткой нотации мы должны указать ее начальную вертикаль. Например, Rae4. Но! Если ладья h4 связана (например, на h8 стоит черная ладья, а на h1 — белый король), то неоднозначность исчезает! И мы должны тот же самый ход записывать просто как Re4.
Dagaz: Архитектура