Files
Wizard/wizard_website
marvinandClaude Opus 5.5 fde8e2fb2e Always forbid bids that add up to the cards in hand
The sum of all bids may never equal the number of cards each player
holds in the round; the last bidder has to adjust their bid. This was an
optional "not equal" lobby setting and is now a fixed rule of the game
engine, so it applies to humans, AI players and training alike.

- Remove GameOptions.not_equal, the set_options field, the lobby toggle
  and the --not-equal training flag
- Explain the rule in the lobby and show the blocked bid while bidding
- Drop the option from the AI observation encoding
- Tests check that no round ends with bids summing to the cards in hand

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:15:25 +02:00
..
2026-09-27 09:52:00 +02:00
2026-09-27 09:52:00 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 09:52:00 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 08:58:25 +02:00
2026-09-27 08:58:25 +02:00

wizard_website

React + TypeScript frontend (Vite). All component styles are CSS modules (*.module.css); the design tokens live on the .app root in src/App.module.css.

npm install
npm run dev      # http://localhost:5173, proxies /api/* (incl. websocket) to localhost:8000 without the /api prefix
npm run build
npm run lint

The app is built with relative asset paths and connects to ../api/ws relative to its own URL (/wizard/website/ → /wizard/api/ws). Set WIZARD_SERVER_URL to proxy to another server in development, or VITE_WS_URL at build time to use an absolute websocket URL instead.

Structure

  • src/api/ — protocol types and the useWizard hook (websocket connection, reconnect with a per-tab session token, game state)
  • src/components/ — reusable UI (button, playing card, modal, toasts)
  • src/screens/HomeScreen — enter a name, create or join a lobby
  • src/screens/LobbyScreen — lobby code, players, AI players, rule options, start
  • src/screens/GameScreen — the table: seats, trick, hand, bidding, trump choice, scoreboard, round summary, game over