本文へ移動

Chizu地図

SVGの地図を描き、地域を表示範囲に収め、番号付きの注記や地理クイズを英語と日本語の名前で作れます。

「地図」は、土地や場所を図で表したものです。 名前について(英語)

目次

リファレンス · 表示範囲・形・クイズの道具

distractorScore関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

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 { distractorScore } from "@johnmorrisdotca/chizu";

定義

function distractorScore(target: Scorable, candidate: Scorable, diagonal: number): number

引数

名前型説明
targetScorable

The native place whose tempting wrong answers are being ranked.

candidateScorable

A candidate wrong-answer place whose score is compared with the target.

diagonalnumber

The corner-to-corner length of the native canvas used to normalize distance.

戻り値

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).

例

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));
// true
true

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/chizu 1.5.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。