Skip to content

rhlvora/jeopardy-game

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jeopardy Game - Angular Application

A fully functional Jeopardy game host controller built with Angular. This application is designed for a host to control the game on screen while players interact in real life, with the host managing scores and game flow.

Features

  • Multi-player Support: Add any number of players (names only, controlled by host)
  • Three Game Rounds:
    • Jeopardy (standard values)
    • Double Jeopardy (doubled values)
    • Final Jeopardy (custom bets)
  • CSV Question Import: Load categories and questions from a CSV file
  • Dynamic Score Management: Edit player scores, add/subtract points with quick buttons
  • Question Display: Full-screen question and answer reveal
  • Final Jeopardy Logic: Betting system for the final round with correct/incorrect marking

Installation

  1. Prerequisites: Node.js and npm installed

  2. Install dependencies:

    npm install
  3. Start the development server:

    npm start

    The application will be available at http://localhost:4200

CSV File Format

The CSV file must contain THREE separate sections - one for Jeopardy, one for Double Jeopardy, and one for Final Jeopardy.

Structure:

JEOPARDY ROUND (Categories and questions at $100-$500)
Category1,Category2,Category3,...
$100,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$200,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$300,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$400,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$500,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...

DOUBLE JEOPARDY
DOUBLE JEOPARDY ROUND (Different categories/questions at $200-$1000)
Category1,Category2,Category3,...
$200,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$400,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$600,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$800,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...
$1000,"Q: Question 1|A: Answer 1","Q: Question 2|A: Answer 2",...

FINAL JEOPARDY
FinalCategory,"Q: Final Jeopardy question|A: Final Jeopardy answer"

CSV Format Details:

JEOPARDY SECTION:

  • First row: Category names (5-6 categories recommended)
  • Question values: $100, $200, $300, $400, $500
  • Format: "Q: question text|A: answer text"

FIRST SEPARATOR:

  • A line containing "DOUBLE JEOPARDY" (case-insensitive)

DOUBLE JEOPARDY SECTION:

  • First row: Category names (same categories or different - your choice!)
  • Question values: $200, $400, $600, $800, $1000 (different questions!)
  • Format: Same as Jeopardy section

SECOND SEPARATOR:

  • A line containing "FINAL JEOPARDY" (case-insensitive)

FINAL JEOPARDY SECTION:

  • Format: Category,"Q: question text|A: answer text"
  • Example: World Capitals,"Q: This is the capital of France|A: Paris"
  • Optional: If not provided, you can enter it during the game

Example:

Science,History,Sports,Literature,Geography
$100,"Q: What is H2O?|A: Water","Q: Who was the first president?|A: George Washington","Q: How many points is a touchdown?|A: 6","Q: Who wrote Romeo and Juliet?|A: William Shakespeare","Q: Capital of France?|A: Paris"
$200,"Q: Symbol for gold?|A: Au","Q: When did Titanic sink?|A: 1912","Q: Puck sport?|A: Hockey","Q: Who wrote 1984?|A: George Orwell","Q: Largest country?|A: Russia"
$300,"Q: Speed of light?|A: 300,000 km/s","Q: WWII end year?|A: 1945","Q: Players on court in basketball?|A: 5","Q: First HP book?|A: Philosopher's Stone","Q: Longest river?|A: Nile"
$400,"Q: Largest planet?|A: Jupiter","Q: First Roman emperor?|A: Augustus","Q: Zero score in tennis?|A: Love","Q: Shakespeare plays written?|A: 37","Q: Smallest country?|A: Vatican City"
$500,"Q: Plant sunlight process?|A: Photosynthesis","Q: Berlin Wall fell?|A: 1989","Q: Most Olympic golds?|A: Michael Phelps","Q: Great Gatsby author?|A: F. Scott Fitzgerald","Q: Deepest ocean trench?|A: Mariana Trench"
DOUBLE JEOPARDY
Science,History,Sports,Literature,Geography
$200,"Q: Symbol for silver?|A: Ag","Q: Declaration of Independence?|A: 1776","Q: Innings in baseball?|A: 9","Q: To Kill a Mockingbird author?|A: Harper Lee","Q: Capital of Japan?|A: Tokyo"
$400,"Q: Three states of matter?|A: Solid, liquid, gas","Q: First US pres to visit China?|A: Nixon","Q: Bowling perfect score?|A: 300","Q: Shakespeare's sonnets?|A: 154","Q: Largest desert?|A: Antarctic"
$600,"Q: Force holding atoms?|A: Chemical bonding","Q: US Civil War end?|A: 1865","Q: Most FIFA World Cups?|A: Brazil","Q: Mark Twain's real name?|A: Samuel Clemens","Q: Second highest mountain?|A: K2"
$800,"Q: Smallest unit of life?|A: Cell","Q: Longest reigning British queen?|A: Queen Victoria","Q: Violin strings?|A: 4","Q: Pride and Prejudice author?|A: Jane Austen","Q: Equator passes through?|A: Kenya"
$1000,"Q: Study of heredity?|A: Genetics","Q: Columbus reached Americas?|A: 1492","Q: Mammal that can't jump?|A: Elephant","Q: Books in Narnia?|A: 7","Q: Capital of Australia?|A: Canberra"
FINAL JEOPARDY
World Capitals,"Q: This is the capital of France|A: Paris"

An example file is included as example.csv in the project root.

How to Use

1. Setup Phase

  • Enter player names (add as many as needed)
  • Upload a CSV file with categories and questions
  • Click "Start Game"

2. Game Phases

The game progresses through three complete rounds:

Round 1: Jeopardy

  • Full board with categories and questions at $100-$500 values
  • Click on any question tile to display it
  • Question displays in fullscreen
  • Click "Reveal Answer" to show the answer
  • Host determines who answered correctly
  • Click "Mark as Answered" when done
  • Question tiles update to show they've been used
  • When all questions are answered, a modal appears to proceed to the next round
  • Or click "Proceed to Double Jeopardy" button in the controls

Round 2: Double Jeopardy

  • COMPLETELY DIFFERENT SET OF QUESTIONS from Round 1
  • Same categories (from CSV Double Jeopardy section)
  • Values: $200, $400, $600, $800, $1000 (higher values for higher difficulty)
  • All tiles start fresh and unanswered
  • Follow the same process as Round 1
  • Click "Proceed to Final Jeopardy" when all questions are answered
  • Note: These are entirely different questions from Round 1, so players who memorized answers must learn new ones!

Round 3: Final Jeopardy

  • Question automatically loaded from CSV (if provided in Final Jeopardy section)
  • Or host can enter a custom Final Jeopardy question and answer during the game
  • Each player chooses how much to wager (up to their current score)
  • Final question is displayed to everyone
  • Players submit their responses (host enters each player's response)
  • Host marks each response as correct or incorrect
  • Scores are automatically updated based on wagers
  • Winners are announced with final standings

3. Scoring

Player scores can be edited at any time:

  • Edit Score: Click the player's score to edit
  • Absolute Mode: Set the exact score
  • Delta Mode: Add or subtract points
  • Quick Buttons: +100 and -100 buttons for rapid adjustments

Project Structure

src/
├── app/
│   ├── pages/
│   │   ├── setup/                 # Setup page for players & CSV upload
│   │   ├── game/                  # Main game board component
│   │   └── final-jeopardy/        # Final Jeopardy round
│   ├── components/
│   │   ├── question-display/      # Question/answer modal
│   │   └── player-score/          # Player score management
│   ├── services/
│   │   ├── game-state.service.ts  # State management
│   │   └── csv-parser.service.ts  # CSV parsing
│   ├── app.component.ts           # Root component
│   ├── app.config.ts              # Application config
│   └── app.routes.ts              # Routing configuration
├── styles.css                     # Global styles
└── index.html

Key Services

GameStateService

Manages the entire game state including:

  • Players and their scores
  • Categories and questions
  • Current round (Jeopardy, Double Jeopardy, Final Jeopardy)
  • Current question being displayed

CsvParserService

Parses CSV files and extracts:

  • Categories
  • Questions and answers
  • Question values

Building for Production

npm run build

The build artifacts will be stored in the dist/ directory.

Styling

The application uses the classic Jeopardy color scheme:

  • Dark Blue: Main background (#001a4d, #003d99)
  • Gold (#FFD700): Highlights and text
  • White: Primary text
  • Green (#00ff00): Correct answers and highlights

All components are responsive and work on large displays (ideal for projectors/TVs).

Notes

  • The application does NOT include actual multiplayer networking - all players are in the same room
  • The host controls everything through the UI
  • Scores can be edited manually at any time
  • Final Jeopardy supports custom question categories
  • Questions are displayed in full-screen modals for better visibility

Future Enhancements

Potential features to add:

  • Buzzer system integration
  • Timer for questions
  • Import multiple round templates
  • Sound effects and music
  • Team mode
  • Export game results

License

MIT

About

Simple jeopardy game to play with friends

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 46.8%
  • CSS 29.0%
  • HTML 24.2%