Никола обнови решението на 27.11.2022 00:07 (преди почти 2 години)
_validate_board
е по-скоро парсър, който междувременно и валидира. Бих ти препоръчал да разделиш малко тази функционалност - един метод за парсване, един за валидиране, защото сега е доста претрупано там.
Съгласен съм! И на мен не ми харесва, просто не знаех кое е по-удачно първо да стане. Логично е първо да е валидирането, ама не исках два пъти да минавам през FEN-a (максималната му дължина е 71, ако не се лъжа, ама пак не ми се струваше хубаво). Ако пък първо го парснем и се окаже невалиден, язък че сме го парсвали :D Затова реших да го наблъскам всичко в едно и "да си измия ръцете" така.
Според мен и двете са идентични. Изпускам ли нещо?
'1' <= char <= '8'
<=> char.isdigit()
Да, еднакви са в случая, затова и съм го написал така, но ако имаме 9-ка, щеше да счупи нещата.
9-та е добра причина, да.
Добро решение. Само _validate_board
ми идва в повече. Останалото е доста чисто.