Add Bulgarian Solitaire interactive

Create a new interactive component for Bulgarian Solitaire. This component will allow users to select a number `n` (2-6), visualize a container with `1+2+...+n` boxes, and arrange these boxes into `1+2+...+n` columns. Users can drag and drop boxes between columns and return them to the container by double-clicking. A "Play" button will initiate the simulation of the Bulgarian Solitaire process until a steady state is reached. This interactive will be added to the Puzzles section.
This commit is contained in:
gpt-engineer-app[bot] 2025-08-21 11:16:49 +00:00
parent dcdfa9e5f5
commit cb484c418e
4 changed files with 348 additions and 0 deletions

View file

@ -51,6 +51,7 @@ import SikiniaParliamentPuzzlePage from './pages/SikiniaParliamentPuzzlePage';
import NQueensPuzzlePage from './pages/NQueensPuzzlePage';
import RulesOfInferencePlaygroundPage from './pages/RulesOfInferencePlaygroundPage';
import PebblePlacementGamePage from './pages/PebblePlacementGamePage';
import BulgarianSolitairePage from './pages/BulgarianSolitairePage';
const queryClient = new QueryClient();
@ -104,6 +105,7 @@ const App = () => (
<Route path="/games/assisted-nim" element={<AssistedNimGamePage />} />
<Route path="/games/gold-coin" element={<GoldCoinGamePage />} />
<Route path="/puzzles/pebble-placement" element={<PebblePlacementGamePage />} />
<Route path="/puzzles/bulgarian-solitaire" element={<BulgarianSolitairePage />} />
<Route path="/puzzles/sikinia-parliament" element={<SikiniaParliamentPuzzlePage />} />
<Route path="/puzzles/plate-swap" element={<PlateSwapPuzzlePage />} />
<Route path="/puzzles/chessboard-repaint" element={<ChessboardRepaintPuzzlePage />} />