Untitled

1 min read Original article ↗

Assignment: Model the rules of Chess. Design the code with the

flexibility to easily add new types of pieces with unique movements. The

goal is to create a shared core model that can also be used for other

board games, such as Checkers, Tic-Tac-Toe, and similar.

⚠️ Spoiler Alert ⚠️: This is a solution to exercise 2.13 of book "Software Design for Flexibility."1

🐰🕳️ ... What started as a whiteboard discussion sent me down a rabbit-hole to attempt

a functional and (hopefully) simple implementation... then document it, then

prepare it for a presentation, add visualizations, notebooks, implement a

code-stepper, ...