Red or black

This page describes how Fair Card Drawer shuffles the 52-card deck, draws without replacement, and what the tool does not guarantee.

Shuffle and deck representation

The deck is the standard four-suit 52-card set. Reshuffle builds a fresh array and permutes it with Fisher–Yates using indices from crypto.getRandomValues.

Card identity (rank, suit, color, sort value) is fixed per card object; shuffle only changes order.

Draws without replacement

Each draw removes the requested count from the front of the remaining deck array and pushes those cards into discard and session history.

No automatic return-to-deck occurs after a draw. Only Reshuffle or Reset restores a full 52-card pool.

Concealed presentation

Concealed faces is a presentation flag. The underlying card identity is chosen at draw time; backs display until concealment is disabled.

Accessibility announcements still note that a draw occurred so non-visual users know the deck state changed.

Mini tools and storage

Red or black uses a separate fair color pick helper. High / low performs two ordinary draws and compares ace-low values for display only.

State persists under the cards namespace in localStorage on this device—there is no server-side deal archive.

Without-replacement deck model

Each draw removes cards from the active pool until Reshuffle rebuilds a full 52-card deck; mini-tools that pick color or high/low consume cards the same way ordinary draws do.

The discard pile and history list are UI aids; they are not transmitted to SBFChoice servers because deck state stays in the browser.

Shuffle quality and disclosure

Shuffles use Fisher–Yates with crypto.getRandomValues, which is appropriate for classroom fairness conversations but not a certified gaming randomness audit.

Hosts should say aloud when a deck is low or reshuffled so players do not assume infinite replacement.