Reference · Framing, geometry and quiz tools
distractorScorefunction
How tempting candidate is as a wrong answer for target, from 0 up to 200: 100 for a land neighbour, 60 for
the same group, and up to 40 for being close, measured against diagonal, the corner-to-corner length of the map
(each map is drawn on a canvas of its own, so a distance only means something relative to it).
Import it
import { distractorScore } from "@johnmorrisdotca/chizu";
Definition
function distractorScore(target: Scorable, candidate: Scorable, diagonal: number): number
Parameters
| Name | Type | Description |
|---|---|---|
target | Scorable | The native place whose tempting wrong answers are being ranked. |
candidate | Scorable | A candidate wrong-answer place whose score is compared with the target. |
diagonal | number | The corner-to-corner length of the native canvas used to normalize distance. |
Returns
number
How tempting candidate is as a wrong answer for target, from 0 up to 200: 100 for a land neighbour, 60 for the same group, and up to 40 for being close, measured against diagonal, the corner-to-corner length of the map (each map is drawn on a canvas of its own, so a distance only means something relative to it).
Examples
import WORLD from "@johnmorrisdotca/chizu/world";
import { distractorScore, mapDiagonal } from "@johnmorrisdotca/chizu";
const get = (code: string) => WORLD.regions.find((region) => region.code === code)!;
const diagonal = mapDiagonal(WORLD);
console.log(distractorScore(get("DE"), get("FR"), diagonal) > distractorScore(get("DE"), get("BR"), diagonal));
// truetrueWhat it prints (run when this page was built)