| # | Flag | Your Answer | Correct | Copy |
|---|---|---|---|---|
| {{ i + 1 }} |
|
{{ row.yourAnswer }} | {{ row.correctAnswer }} |
Maritime signal flags are bold patterns of color and shape that represent letters and numerals, letting crews share short messages by sight across water and distance. A maritime signal flags practice quiz turns that reference chart into quick recognition drills, so recall feels immediate when timing matters.
You look at a flag image, pick the matching label from a small set of choices, and get a running sense of how often your first instinct is right. Practice can focus on letters, numerals, or a mixed set, and an optional seed phrase can recreate the same quiz for later review or group study.
If you are preparing for maritime training or a bridge watch assessment, a short daily run can reveal which flags you confuse and which ones you know cold. Sharing the same seed with classmates makes it easier to compare progress because everyone sees the same sequence.
A correct match only confirms pattern recognition, not that a flag set is being used correctly in real operations or that conditions are safe. Real flags can be faded, folded, or partly hidden, so treat the score as practice feedback rather than proof of readiness.
Keep sessions short, then repeat the same seed after a break to separate learning from luck. If you plan to share a seed, keep it impersonal so the link stays comfortable to pass around.
The quiz measures recall of International Code of Signals (ICS) maritime signal flags by tracking how often you correctly identify a flag on the first try. Each question is multiple choice, so the key signal is your accuracy over repeated runs rather than any single streak.
A run starts by selecting a pool of flags from a chosen set, then sampling a fixed number of unique questions without repeats. For every question, the quiz builds a choice list with one correct label and three distinct distractors, then shuffles that list to avoid positional patterns.
Results are summarized as a score and a rounded percent correct, plus the complementary percent wrong. Because each question offers four options, chance performance is about 25 percent, while higher scores suggest stronger recognition and faster retrieval.
To compare sessions fairly, keep the same set and question count, and reuse the same seed when you want an identical sequence. Change the seed to generate a new drill that still draws from the same pool.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
N |
Total questions in the run | integer | Input |
score |
Number answered correctly | integer | Derived |
correctPercent |
Rounded percentage correct | percent | Derived |
incorrectPercent |
Percentage wrong, computed as a complement | percent | Derived |
seed |
Text seed that drives repeatable randomness | string | Input |
Worked example
Suppose you run 15 questions and answer 11 correctly.
Your summary becomes 11 / 15, 73 percent correct and 27 percent wrong.
N items.distractors < 3.score, then advance or finish.| Parameter | Meaning | Unit/Datatype | Typical Range | Sensitivity | Notes |
|---|---|---|---|---|---|
| Set | Which pool of flags is used | enum | letters, numbers, all | High | Pool sizes are 26, 10, and 36 flags respectively. |
| Question count | How many unique questions are sampled | integer |
Letters: 5, 10, 15, 20, 26 Numbers: 5, 10 All: 10, 15, 20, 30, 36 |
Medium | Values are clamped to the pool size and normalized to the nearest allowed option. |
| Seed | Text input that makes the random sequence repeatable | string | Optional | High | Identical seed, set, and count reproduce the same questions and option order. |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
| Seed hash init | 1779033703 | 32 bit int | constant | Mixed with seed length to initialize hashing. |
| Seed hash multiplier | 3432918353 | 32 bit int | constant | Applied with integer multiply during seed mixing. |
| State increment | 0x6d2b79f5 | 32 bit int | constant | Added each draw before further mixing. |
| Normalization base | 4294967296 | 232 | constant | Converts an unsigned 32 bit integer to a fraction in 0 to 1. |
Math.round.100 - correctPercent to keep totals consistent.| Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
|---|---|---|---|---|---|---|
| Set | enum | — | — | letters, numbers, all |
None, invalid values fall back to a default. | — |
| Question count | number | 1 | pool size | Normalized to the nearest allowed option for the active set | None, non numeric values are replaced and then clamped. | — |
| Seed | text | 0 | — | Trimmed string, any characters allowed | None | e.g., ics-quiz-42 |
| Output | Contents | Encoding/Precision | Rounding |
|---|---|---|---|
| Results table | Question number, your answer, correct answer, correctness | In page state | None |
| Comma separated values (CSV) | Header plus one row per question with Yes or No | Text export | None |
| JavaScript Object Notation (JSON) | Set id and label, seed, score, percent, and per question rows | Pretty printed with 2 space indentation | Percent is the rounded summary value |
| Office Open XML Word document (DOCX) | Title, subtitles, and a results table, optionally including the seed | Generated document | Percent is shown as a whole number |
| Answer chart downloads | Correct versus incorrect as an image, plus a small metrics CSV | Image and text exports | Metrics percent formatted to 2 decimals |
Image downloads include Portable Network Graphics (PNG), WebP, and Joint Photographic Experts Group (JPEG) formats.
The quiz uses a deterministic PRNG built from the seed string, mixing it into a 32 bit internal state and producing a repeatable stream of fractions in the range 0 to 1. Shuffling uses that stream to drive a Fisher and Yates shuffle, which is unbiased when the underlying draws are uniform.
If you leave the seed empty, the run is salted with the current time and a built in random source, so the sequence changes across sessions. The random generator is designed for repeatable practice, not for security sensitive randomness or gambling.
localStorage or sessionStorage directly in its quiz logic.O(P) where P is the pool size.O(P), and selecting N questions is O(N).O(N) with small constant loops for distractors.NaN or Infinity are replaced and then clamped.Math.round, where halves round up for positive values.For the flag meanings and naming conventions, the authoritative reference is the International Code of Signals published for maritime use. For the shuffling approach, the Fisher and Yates shuffle is a standard unbiased method when driven by uniform draws. For numeric behavior, the ECMAScript language specification defines the bitwise and integer operations used by the PRNG.
Quiz answers and seeds are processed in page memory, while flag images are fetched from a public media host, so avoid embedding personal data in a seed you plan to share, and question draws are purely random and have no monetary value.
Maritime signal flag recognition improves fastest when you practice in short, repeatable drills and review what you missed.
Example routine
Run 15 mixed questions each day, write down the three flags you missed, then repeat the same seed two days later to confirm they stick.
With consistent runs, the percent score becomes a simple trend line you can improve week by week.
Your answers, score, and seed live in page memory while you are using the quiz. The page does load flag images from an external media host, and copy or download actions only occur when you trigger them.
Tip: Use a neutral seed if you plan to share it.Scoring is exact for what you answered in that run, and the percent is rounded to a whole number. Because each question is multiple choice, small runs can swing quickly, so use more questions when you want a steadier signal.
The quiz logic can still run without a network connection, but flag images may not load and you may see placeholders instead. If your device has cached the images from a previous session, they may appear as expected.
You can copy or download a results table as CSV, download a JSON summary, export a DOCX report, and save the answer chart as an image with a small metrics CSV.
File creation depends on browser download settings.The package does not include payment, subscriptions, accounts, or licensing prompts. Any access terms are set by the site that hosts the page.
Pick the letters set, then use a short question count and repeat the same seed until the Juliett option stops feeling like a guess. Reviewing the details table after each run helps you confirm whether a miss is consistent or random.
There is no built in borderline label, so use the percent as a progress marker. If your score hovers near chance, slow down and repeat a fixed seed until recognition improves, then switch to a new seed to test retention.
Blocking issue: If no images load at all and every flag stays a placeholder, the external media host is likely blocked on your network, so the quiz can still run but visual training will be limited.