本文へ移動

Taisen Brackets対戦

対戦の一覧から、トーナメント表をSVGで描きます。

対戦(たいせん)は、二者が向かい合って勝負することです。 名前について(英語)

目次

リファレンス · 各対戦の位置を計算

LayoutBox型

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

A tie's place in the tree.

インポート

import type { LayoutBox } from "@johnmorrisdotca/taisen-brackets/layout";

ほかのエクスポート元: @johnmorrisdotca/taisen-brackets

定義

interface LayoutBox {
    i: number;
    round: number;
    y: number;
    to: number | null;
    fed: boolean;
    order: readonly [
        0 | 1,
        0 | 1
    ];
    bye: 0 | 1 | null;
    byes: readonly (0 | 1)[];
}

メンバー

名前型説明
inumber

The tie's index.

roundnumber
ynumber

The row, 0 at the top; fractional where a tie sits between two.

tonumber | null

The row of the tie this one feeds, or null.

fedboolean

Whether a tie feeds this one.

orderreadonly [0 | 1, 0 | 1]

Which side is drawn on top, then which below: [0, 1], or [1, 0] when the top feeder's team is the second side.

bye0 | 1 | null

The side that had a bye (it came from no tie, though the other did), or null.

byesreadonly (0 | 1)[]

Every side that skipped the earlier rounds: the bye side, and both sides of a tie of a later round that no tie feeds (MLS's round one, where seven teams of nine skip the wild card round).

例

import { layoutBracket, type LayoutBox } from "@johnmorrisdotca/taisen-brackets";

const layout = layoutBracket([{ sides: ["Aurora", "Harbour"], score: [2, 1] }, { sides: ["Cascade", "Delta"], score: [0, 1] }, { sides: ["Aurora", "Delta"], score: [3, 1] }]);
const box: LayoutBox = layout.sides[0].boxes[0];
console.log(box.round, box.y, box.to);
1 0 0

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

ソースを見るGitHub で編集@johnmorrisdotca/taisen-brackets 0.20.0 のソースから作成しました。

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