Capstone 6 · Frontend
Oware
Oware is one of the oldest games in the world, played across West Africa and the diaspora for centuries under names including Awale, Ayo and Warri. Two rows of six houses, forty-eight seeds, and rules simple enough to explain in a minute and deep enough to have been studied for decades. Build it. A board that reads clearly, sowing that animates so a move can be followed, and an opponent that searches ahead rather than picking at random. Get the rules exactly right, including the ones people forget: sowing skips the house you started from on a lap, capture happens on two or three seeds in the opponent's row and walks backwards, and a move that would starve the opponent is illegal unless nothing else is available. The interface matters as much as the engine. This should be playable entirely from the keyboard, announce the state of play to a screen reader, and be genuinely usable on a phone.
Concepts used
Your dataset
No external data. The board is twelve houses and a store for each player.
Milestones
The graded core
The rest of this project is yours to shape. This one function is the piece everything else depends on, so it runs against hidden tests to prove it is right before you build outward.
Your workspace
Build the full project here. Work through the milestones in order, in both languages.