Your Score
{{ score }} / {{ totalQuestions }}
{{ correctPercent }} % Correct {{ incorrectPercent }} % Wrong {{ activeSetLabel }}

Match each semaphore signal to its {{ promptNoun }}. Choose how many questions you want and optionally set a seed to make a shareable quiz.

Pool size: {{ poolSize }}
{{ progressPercent }} %
{{ questionHeading }}
# Signal Your Answer Correct Copy
{{ i + 1 }} {{ row.yourAnswer }} {{ row.correctAnswer }}

                
:

Introduction:

Semaphore signals are a visual alphabet made by holding two hand flags in specific positions so a watcher can read letters from a distance. For a semaphore flag alphabet practice quiz, you identify the letter shown and get quick feedback that highlights where your recognition still slows down. It is useful for learners who want steady recall before drills, lessons, or assessments.

You start a short round, look at a signal, and choose the matching letter from a small set of options. Each round draws distinct letters from the chosen pool, so you do not waste questions repeating the same symbol. Add an optional seed when you want the same question order again for comparison or sharing.

Imagine reviewing before a class and noticing that two letters keep fooling you because their flag angles look similar at a glance. After the round, the score and the split between correct and wrong answers show whether you are improving or just guessing. A higher score means better recognition, but it does not prove you can send signals smoothly in real conditions.

To make results easier to compare, keep your question count consistent and repeat the same seed across sessions. When you want variety, leave the seed blank and treat every run as a fresh draw. If an image does not load, you can still answer, yet it is worth retrying later to study the real flag posture.

Use this kind of quiz for fast recognition, then move to hands on practice when timing and body orientation matter. The best signal is a confident one that stays correct even when you speed up.

Technical Details:

Semaphore letter signalling encodes a single character by the relative angles of two flags held from the body. This quiz measures recognition by showing a diagram and asking you to choose the matching letter.

For each question, the app records whether the selected option equals the correct letter and adds one point for a match. After the final question, it reports a score out of the total and converts that into whole-number percentages for correct and wrong answers.

Because each question is multiple choice with four options, short rounds can swing from luck more than skill. For better comparability, keep the same question count and repeat a seed so the same questions and distractors appear again.

Question order is produced by a deterministic pseudo random number generator (PRNG) when a seed is provided. When the seed is empty, the generator is initialized from the current time and a built-in random value, making each run different.

Core scoring math

Pc = round ( 100 × S N ) Pw = 100 Pc

Symbols and units

Symbols and units used in scoring
Symbol Meaning Unit/Datatype Source
N Total questions in the round integer Derived
S Score, count of correct answers integer Derived
Pc Correct percent, rounded to a whole number integer % Derived
Pw Wrong percent, defined as 100 − Pc integer % Derived
s Seed text used to reproduce the same round string Input

Worked example: suppose you answer 7 questions correctly out of 10.

Pc = round ( 100 × 710 ) = round ( 70 ) = 70
Pw = 100 70 = 30

One possible question record is a shown signal for K, options K, V, M, P, and a chosen answer of V, which counts as incorrect.

The score summary is intentionally simple, so interpretation is mostly about consistency and sample size. With a small N, a single mistake can move the displayed percentage by several points after rounding, so compare runs using the same settings.

Quiz generation pipeline

  1. Load the active set pool, currently letters A to Z.
  2. Initialize a PRNG from the seed, or from time plus a random value.
  3. Shuffle the pool and take the first N items without repeats.
  4. For each chosen letter, select up to three distinct distractor letters.
  5. Shuffle the four options and store the correct option index.
  6. When you answer, store the chosen index and increment score on a match.
  7. After the last question, compute percentages and build results for review and exports.

Randomness and reproducibility

The PRNG turns the seed string into a 32-bit internal state by mixing character codes, then updates that state with integer arithmetic on each draw. Each draw yields a 32-bit unsigned value that is scaled into a floating-point number between 0 and 1.

Questions are sampled without replacement by shuffling the full pool and slicing, so a letter is not asked twice in the same round. Answer options are also shuffled, and distractors are selected to be distinct from the correct answer and from each other.

Heads-up: the seeded generator is designed for repeatable practice and fair shuffles, not for security or gambling use.

Constants and defaults

Notable constants and defaults
Constant Value Unit Source Notes
Default question count 10 questions Set config Used when no valid count is provided.
Allowed question counts 5, 10, 15, 20, 26 questions Set config Values are normalized to the nearest allowed count not exceeding the pool.
Pool size 26 items Set config Letters A to Z.
Distractors per question 3 items Logic Target is four total options including the correct answer.
Remote thumbnail request width 360 px Logic Used for both the main image and the smaller result thumbnails.
Chart export pixel ratio 2 scale Logic Used when producing chart images.
JPEG quality 0.92 ratio Logic Applied when converting the chart image to JPEG.
Feedback reset timer 1500 ms Logic Used for copy and download success indicators.

Validation and bounds

Input validation and bounds
Field Type Min Max Step/Pattern Error Text Placeholder
Quiz set enum (string) 1 1 letters (Semaphore Letters (A–Z)) None (invalid values reset to the default set) None
Number of questions integer 5 26 5, 10, 15, 20, 26 None (values are normalized to the nearest allowed count) None
Random seed string 0 n/a Trimmed text, optional None e.g., semaphore-quiz-42

Outputs and export formats

Results are presented as a per-question table and a compact correct versus incorrect breakdown chart. The package also supports copying and downloading the data in common formats for review or sharing.

Input and output formats
Input Accepted Families Output Encoding/Precision Rounding
Answers Letter selection per question Score summary Counts plus whole-number percentages Math.round to nearest integer
Results table Per-question rows Comma-Separated Values (CSV) Header plus rows with Yes/No n/a
Quiz summary Set, seed, counts, rows JavaScript Object Notation (JSON) Pretty-printed with 2-space indentation Percent already rounded in correctPercent
Results report Question, chosen, correct DOCX (Word document format) Title, subtitle lines, and a results table n/a
Answer breakdown Correct vs incorrect Portable Network Graphics (PNG), WebP, JPEG, plus chart CSV PNG rendered at pixel ratio 2, JPEG quality 0.92 Chart CSV percent formatted to 2 decimals

Units, precision, and rounding

Displayed percentages are integers computed with standard rounding to the nearest whole number. Wrong percent is computed as 100 − correctPercent, which guarantees the two badges sum to 100.

Networking and storage behavior

Semaphore diagrams are loaded as remote thumbnails from Wikimedia Commons using the Special:FilePath mechanism, and the app falls back to an embedded SVG placeholder when an image cannot be retrieved. Quiz state and exports are generated locally and are not written to local or session storage by this code.

Performance and complexity

With a pool of 26 letters, work is dominated by a single shuffle and a small amount of option sampling per question. Time and memory costs grow linearly with the chosen question count, and remain small even at the maximum of 26.

Security considerations

  • Do not treat the seed as a secret, because it is plain text and intended for sharing.
  • Do not reuse this PRNG for security needs, because it is not a cryptographic generator.
  • Be cautious when copying results to the clipboard on shared devices.
  • Expect network filters to block remote images in some environments.
  • Downloaded files may contain your answers, so store them only where appropriate.
  • The quiz checks recognition of diagrams, not safe operating practice in the field.

Assumptions and limitations

  • The included set focuses on letters A to Z and does not cover numbers or punctuation.
  • The quiz measures recognition of static images, not the ability to send signals fluently.
  • All questions are unique within a round because the pool is sampled without replacement.
  • Rounding to whole-number percentages can hide small improvements in short rounds.
  • Seeds are case sensitive and whitespace is trimmed, so tiny changes create different rounds.
  • Remote image availability depends on third-party hosting and network policy.
  • Heads-up A 5-question round is quick but has high variance from guessing.
  • Chart downloads depend on the charting layer initializing correctly.
  • Document export depends on the host environment supporting file generation and saving.

Edge cases and error sources

  • If the pool is empty, the quiz cannot start because no questions can be built.
  • If a set has only one item, distractors cannot be filled and options may be fewer than four.
  • Very long seed strings increase the cost of hashing character codes before the first question.
  • Non-ASCII seed text is hashed by JavaScript UTF-16 code units, so normalization changes results.
  • When the seed is blank, the time-based initialization prevents exact reproducibility.
  • Math.round rounds x.5 up for positive values, affecting boundary cases.
  • Progress percentage counts the current question as completed only after you answer it.
  • If the first image URL fails, the app advances to alternate candidates and then to the placeholder.
  • Some environments restrict clipboard writes unless triggered by a direct user action.
  • Image conversion to WebP or JPEG depends on the platform’s data URL conversion support.
  • If the charting layer fails to load, the answer breakdown view and chart downloads may be unavailable.

Standards and references

This package relies on the ECMAScript standard library behaviors for rounding, integer mixing, and bitwise operations. It uses the Fisher–Yates shuffle pattern for unbiased permutations given the underlying PRNG. Diagram assets are sourced from Wikimedia Commons file metadata and served through Special:FilePath thumbnails.

Privacy and compliance

Answers and scores are generated locally, while remote requests are limited to loading the semaphore images and a third-party chart script. Avoid putting personal data into a seed if you plan to share it, and follow your organization’s privacy policy, including GDPR principles, when distributing saved results.

Outcomes are purely random and have no monetary value.

Step-by-Step Guide:

Semaphore signal practice works best when you decide whether you want variety or a repeatable drill, then you run a short round and review which letters still need attention.

  1. Quiz set Pick the collection you want to practice, such as Semaphore Letters (A–Z).
  2. Number of questions Choose a round length, from 5 up to the full 26 letters.
  3. Random seed Enter a seed if you want the exact same round later.
  4. Start the round and answer each question once, using the feedback to learn.
  5. Review the details table to see which letters you missed and which you got right.
  6. Use retakes to repeat the same seed or generate a new seed for fresh practice.

Example: Set Semaphore Letters (A–Z), choose 15 questions, and use the seed semaphore-quiz-42 to repeat the same drill next week.

After you finish, compare your correct percent across repeats to see whether recall is improving.

Use 26 questions when you want full coverage of the pool.
Use a seed when you want a fair before-and-after comparison.
Leave the seed blank when you want variety and wider exposure.
Heads-up Avoid guessing from patterns and focus on flag angles, especially for similar letters.

Pro tip: do one short warmup round, then a longer round to lock in the harder letters.

Features:

Seeded rounds for repeatable practice and sharing.
No repeated questions within a round.
Immediate correct and incorrect feedback after each answer.
Final summary with score and correct versus wrong percentages.
Detailed per-question review with copyable row output.
Answer breakdown chart with image and CSV downloads.
Result exports as CSV, JSON, and DOCX.

FAQ:

Is my data stored?

Answers and scores live in memory for the session, and this code does not write them to local or session storage. Remote requests are limited to loading the semaphore images and a third-party chart script.

Saved files and clipboard contents are handled by your device.
Can I use it offline?

After the page loads, quiz logic can continue without additional requests, but the signal diagrams require network access unless they are already cached. If an image cannot be retrieved, the app shows a built-in placeholder instead.

What does the seed do?

A seed makes the question order and option shuffles reproducible, so the same set and question count will generate the same round again. If the seed is empty, the round is initialized from time and randomness, so it changes each run.

How is score calculated?

Each correct answer adds one point, so the score is the count of correct answers out of the total questions. Correct percent is rounded to a whole number, and wrong percent is computed as 100 minus the correct percent.

What can I download?

You can copy or download results as CSV or JSON, export a DOCX report, and download the answer breakdown chart as PNG, WebP, or JPEG. The chart tab also provides a small CSV with Correct, Incorrect, Total, and Correct (%).

How do I learn faster?

Use short rounds for warmups, then repeat a seeded round to focus on the letters you miss. Keep your question count fixed when comparing progress, and switch seeds only after accuracy becomes steady.

Recognition improves fastest when you review mistakes immediately.
Why did images fail?

Images are loaded as remote thumbnails from Wikimedia Commons, so network policy, connectivity, or third-party availability can prevent them from loading. When that happens, the app falls back to an embedded placeholder image labeled with the letter code.

What does 50% mean?

With four options per question, pure guessing averages about 25% correct over many questions. A 50% result is above chance, but it can still be unstable in short rounds, so compare multiple runs with the same settings.

Troubleshooting:

  • Quiz will not start: choose a supported question count and ensure the set pool is not empty.
  • Images do not load: check network access and retry, or continue with the placeholder images.
  • Copy actions do nothing: trigger the copy from a direct click and allow clipboard permissions if prompted.
  • Chart is blank: switch away and back to the chart tab, and verify the chart script can load.
  • Downloads are blocked: allow downloads in your environment and try again.
  • Results look inconsistent: use the same question count and seed, and compare across multiple runs.
  • Retake differs unexpectedly: confirm the seed text matches exactly, including case and spacing.

If you never see a question image or answer options, your environment may be blocking required scripts. Enable scripting and reload the page.

When in doubt, start with a seeded 10-question round and confirm that retake with the same seed reproduces the same questions.

Advanced Tips:

  • Tip Use a fixed seed as a personal benchmark and record the date and score externally.
  • Tip Switch to 26 questions when you want complete pool coverage without repeats.
  • Tip Review the missed letters first, then retake the same seed to test retention.
  • Tip Treat small percentage changes as noise when N is small, and look for trends.
  • Tip Use shorter rounds for speed and longer rounds for coverage, and avoid mixing them in comparisons.
  • Tip If a letter pair is confusing, slow down and focus on relative arm angles instead of memorizing silhouettes.
  • Tip Save the chart CSV when you want a compact record of totals and percent over time.

Glossary:

Semaphore signal
A letter encoded by two flag positions held at different angles.
Pool
The full list of letters available for selection in a quiz set.
Seed
Text used to reproduce the same shuffles and question order.
Distractor
An incorrect option shown alongside the correct letter.
Score
Number of correct answers in the round.
Correct percent
Rounded percentage computed from score divided by total questions.
Placeholder image
Built-in SVG label shown when a remote diagram cannot load.
Without replacement
Sampling where a letter cannot appear twice in the same round.