# RCWeb Quiz Pro Control

**Quiz Pro Control** turns a phone into a private answer pad for the colourful [`quiz-pro`](/quiz-pro/) game-show display. It lets each player join by name, choose a quiz topic, submit or change answers, follow the countdown, and see personal results and final standings.

The controller is designed for quick touch play in portrait orientation, with large answer buttons, clear connection feedback, and no app installation or account required.

[![Quiz Pro Control icon](pwa-192x192.png "Open Quiz Pro Control")](/quiz-pro-c/)
[![Quiz Pro display icon](/quiz-pro/pwa-192x192.png "Open the Quiz Pro display")](/quiz-pro/)

- **Phone controller:** [`/quiz-pro-c/`](/quiz-pro-c/)
- **Shared display:** [`/quiz-pro/`](/quiz-pro/)

## How to join

1. Open [`/quiz-pro/`](/quiz-pro/) on a TV, projector, laptop, or other shared screen.
2. On your phone, scan the QR code shown by the display. This opens Quiz Pro Control in the same RCWeb room automatically.
3. Enter the name you want to show on the scoreboard and tap **Join quiz**.
4. Wait for the display to open topic selection or show the current question. If a game is already running, the controller synchronizes with it when you join.

You can also open [`/quiz-pro-c/`](/quiz-pro-c/) directly, but the controller and display must have the same `r` room value in their URLs to communicate.

## How to play

When topic selection opens, tap one of the 15 illustrated quiz packs. The first valid choice made on any controller or on the shared display locks in the next quiz for the entire room.

Each quiz contains **10 questions**. When a question appears:

1. Read the question and watch the 30-second countdown.
2. Tap an answer to submit it. Supported phones give a short vibration to confirm the tap.
3. Tap a different option if you want to change your answer while the round is still open.
4. Wait for the reveal. The correct answer, your result, and the names of the players who answered correctly appear on the controller.

Every correct answer is worth **1 point**. The round can end before the timer reaches zero when every active player has answered. After the tenth question, the controller shows the ranked final scoreboard and identifies the winner or tied winners. Topic selection then opens again for the next game.

## What the controller shows

- Current connection state and player name
- Illustrated topic selection with suggested and chosen packs
- Question number, countdown, and current score
- Large private answer buttons and the currently selected option
- How many active players have answered
- Correct or incorrect reveal styling and sound
- Round summaries and final standings

![Quiz Pro topic collection](/quiz-pro/artwork-contact-sheet.jpg "The 15 Quiz Pro topic packs")

## Saved name and reconnection

Quiz Pro Control saves your player name and a stable participant identity in the phone's browser. Returning to the controller automatically rejoins the room with the same identity, helping the display restore your place instead of creating a duplicate player.

If the network connection drops, the status indicator reports the problem and the controller rejoins when the connection returns. The display then sends a fresh snapshot containing the current topic, question, remaining time, selected answer, score, and leaderboard.

Use **Change name** at the top of the controller if you want to update the name shown on the shared display. The new name is saved for future sessions on that device.

## Player tips

- Scan the display's QR code whenever possible so the room is selected correctly.
- Keep the controller page open until the quiz finishes; closing it marks that player as disconnected.
- Tap an answer again only if you mean to keep it, or tap another option to change your choice before the reveal.
- If sounds are muted by the browser, joining or tapping an answer provides the interaction needed to enable them.
- The controller provides vibration only when the phone and browser support the vibration API.
- Use the **Apps** button to return to the room's controller app menu.

## Powered by RCWeb

Quiz Pro Control sends player joins, topic choices, and answer selections to the authoritative `quiz-pro` display through RCWeb's room-based WebSocket connection. The display validates the action, updates the shared game, and sends a personalized snapshot back to each controller.

Each phone therefore receives only the state it needs for the live round and personal feedback, while the shared display remains the single source of truth for timing, scoring, reveals, and final standings. The controller is implemented with HTML, CSS, and dependency-free ES5-compatible JavaScript.
