Projects

Personal · 2023

Marble Solitaire

A playable version of English marble solitaire with a Python solver that can find a path from any legal board state.

Python

32 marbles/0 jumps

Select a marble, then an empty hole two steps away. You jump over the marble in between, and it comes off the board. Finish with one marble — the center is the classic ending.

Why I built it

I like puzzle solvers, and I wanted the solver to be useful even after someone had already started playing instead of only solving the standard opening position.

How it works

The solver represents the board as a search state, generates legal orthogonal jumps, and explores possible future positions until it finds a path toward a one-marble solution.

The GUI lets you play manually, then hand the current position to the solver if you get stuck.

Outcome

The project turned a small puzzle into a search problem I could interact with directly instead of treating the solver as a separate script.