Venda divining dice (bones) simulator — JavaScript conversion of a late-1990s Java applet, based on Stayt (1931)
# ShowBones (ShowDice)
A JavaScript conversion of a late-1990s Java applet that simulates Venda divining dice (bones) from the Bavenda people of southern Africa, based on Stayt (1931).
## Project Structure
```
ShowDice.js.html <- Main application (JavaScript, self-contained)
ShowDice.html <- Original Java applet HTML (legacy, non-functional)
Annotated_combinations.htm <- Reference guide for all 16 dice combinations
ShowDice/ <- Assets directory
die[1-4]_[0-1].gif <- 8 die face images (4 dice x 2 states)
mat.gif <- Dice mat/table background
divine2.gif <- Background image for text area
divine2a.gif, divine2b.gif <- Unused alternate backgrounds
ShowDice.class, Die.class, URLData.class <- Original Java bytecode (legacy)
Dice_Annotations.dat <- Original annotation data file (now embedded in JS)
```
## How It Works
- 4 dice, each with 2 sides (0 or 1), produce 16 possible combinations
- Each combination has a Venda name, formulae, and interpretation
- Click the dice area to roll; a shake animation plays, then results display
- All annotation data is embedded in the JavaScript — no server or external data loading needed
## Running
Open `ShowDice.js.html` in any browser. No build step or server required.
## Notes
- The original Java applet (`ShowDice.html`) no longer runs in modern browsers
- All original image assets in `ShowDice/` are still used by the JS version
- The `.class` files and `Dice_Annotations.dat` are kept for archival purposes only