Skip to content

matchweave 利用ガイド

matchweave は、テニスやバドミントンなどラケットスポーツの ダブルス対戦表をランダムに自動生成する スマートフォンアプリです。選手登録から大会セットアップ、試合進行、スコア記録、履歴閲覧までを 1 つのアプリで完結できます。

このドキュメントは、はじめてアプリを使う方を対象に、典型的な操作の流れに沿って画面ごとの操作方法を説明します。


目次

  1. アプリ全体の構成
  2. はじめに行うこと: 選手を登録する
  3. 大会を作成する
  4. 試合を運営する(進行中の大会)
  5. スコアを入力する
  6. 大会を終了する
  7. 履歴を見る
  8. 設定を変更する
  9. 利用規約・プライバシーポリシー・ライセンスを見る
  10. 試合生成アルゴリズムについて
  11. よくある質問

1. アプリ全体の構成

アプリ起動時、画面下部に以下 3 つのタブを持つナビゲーションバーが表示されます。アプリは 「試合管理」タブ から始まります。

タブ アイコン 役割
選手 人型アイコン 選手の登録・編集・削除を行う
試合 ラケットアイコン 進行中の大会一覧、新規大会の作成
履歴 トロフィーアイコン 完了した大会の閲覧

「試合」タブの右上には次の 2 つのアイコンがあります。

  • 歯車アイコン (設定): スコア入力方法の切り替えなど、アプリ全体の設定
  • ⓘ アイコン (情報): 利用規約 / プライバシーポリシー / ライセンス

2. はじめに行うこと: 選手を登録する

大会を作るには 最低 4 名 の選手登録が必要です。まずは「選手」タブで参加メンバーを追加しましょう。

2-1. 選手を 1 人ずつ追加する

  1. 画面下部の 「選手」タブ をタップ。
  2. 右下の 「選手を追加」FAB(フローティングアクションボタン) をタップ。
  3. ダイアログが開きます。タブのうち 「1 人ずつ」 が選択された状態で、
  4. 選手名 (必須)を入力
  5. チーム名 (任意)を入力
  6. 「追加」 ボタンで確定。

同じ「選手名 + チーム名」の組み合わせはエラーになり登録できません。
区別したい場合はチーム名を変えるか、選手名を変更してください。

2-2. 選手をまとめて追加する(複数追加)

大人数を一度に登録したいときは、ダイアログ上部のセグメントから 「複数追加」 を選びます。

  1. 「選手を追加」FAB から開いたダイアログで 「複数追加」 タブをタップ。
  2. 複数行のテキストフィールドに 1 行 1 名ずつ 選手名を入力します。 田中 鈴木 佐藤
  3. 「追加」 をタップすると、入力した人数が一括登録され、追加された人数がスナックバーで通知されます。

複数追加モードではチーム名は登録できません。後から個別に編集してください。

2-3. 選手を編集・削除する

「選手」タブの一覧で各カードをタップすると編集ダイアログが開きます。 - 鉛筆アイコン: 名前・チーム名を編集 - ゴミ箱アイコン: 削除(確認ダイアログが表示されます)

削除した選手は登録一覧から消えますが、過去の大会履歴には選手名が残ります。

2-4. 登録人数を確認する

「選手」タブの右上に 現在の登録人数 が表示されます(例: 12 名)。


3. 大会を作成する

3-1. 大会作成画面を開く

  1. 「試合」タブ に移動。
  2. 進行中の大会がない場合: 中央の「大会を作成する」ボタン、または右下の 「新しい大会」FAB をタップ。
  3. 既に進行中の大会がある場合: 右下の 「新しい大会」FAB をタップ。

3-2. 基本情報を入力する

項目 必須 説明
大会名 大会の名称(例: 週末練習会
開催日 入力欄をタップしてカレンダーから選択。デフォルトは今日
開催場所 任意(例: 市民体育館

3-3. コート数を設定する

「コート数」セクションの / + ボタンで増減します。デフォルトは 2 面1 面以上 が必須です。

3-4. 参加選手を選ぶ

参加選手セクションでは、登録済みの選手から 4 名以上 を選択します。チェックボックスでオン/オフを切り替えてください。

選択中の人数は画面右上に 「○○名選択中」 として表示されます。

検索する

人数が多い場合は 「選手を検索」 欄に入力すると、選手名・チーム名で絞り込めます。 アイコンで検索をクリア。

「最近参加」セクション

過去の大会に参加した選手は 「最近参加」 として上部にまとまって表示されます。よく参加するメンバーをすばやく選べます。

前回大会から複製する

「前回大会から複製」ボタンをタップすると過去の大会一覧が表示され、選んだ大会の参加メンバーを そのまま選択状態に取り込み ます。 - すでに削除済みの選手は自動的に除外されます。 - 既に選択中の選手とマージされ、重複なく追加されます。

3-5. 大会を作成する

画面下部の 「大会を作成する」 ボタンをタップ。 - 4 名未満の場合は警告が出て進めません。 - 作成に成功すると、自動的に 進行中の大会画面 に遷移します。


4. 試合を運営する(進行中の大会)

進行中の大会画面は次の要素で構成されています。

4-1. 画面上部のヘッダー

大会名(AppBar)、開催日、コート数、開催場所をカード形式で表示。

4-2. コートセクション

各コートが 1 枚のカードとして縦に並びます。

状態 表示 内容
試合中 青い「試合中」バッジ 対戦中の 2 ペアと VS 表示。タップでスコア入力
空き 緑の「空き」バッジ + 点線枠 コートが使われていない

使用中 X / Y の表記で、現在使われているコート数が一目でわかります。

4-3. 試合を生成する

画面下部に常に表示される 「試合を生成する」 ボタンが、対戦表を自動生成する中核機能です。

生成の条件: - 待機中の選手が 4 名以上 - 空きコートが 1 面以上

ボタンをタップすると、空きコートの数だけランダムな対戦カードが組まれ、各コートに割り当てられます。 詳細は 10. 試合生成アルゴリズムについて を参照してください。

条件を満たさない場合、ボタンはグレーアウトされて押せません。

4-4. 待機中の選手

現在試合に参加していないアクティブな選手が チップ形式 で並びます。 - 各チップ右側の 「ログアウト」アイコン をタップすると、その選手を 「退場中」 に切り替えられます。 - 例: 早めに帰る人、けがで途中休憩する人など。 - 退場中の選手は試合生成の対象外になります。

4-5. 退場中の選手

途中退場した選手は 「退場中の選手」 セクションに移動します。チップをタップすると、再びアクティブ(待機中)に戻ります。

4-6. 大会の途中から選手を追加する

「待機中の選手」セクション右上の 「人を追加」アイコン をタップ。 - 大会未参加かつ登録済みの選手の一覧が表示され、タップで追加できます。

4-7. 大会メニュー(︙)

AppBar 右上の 「⋮」(三点メニュー) から、以下の操作が行えます。

コート数を変更する

  • / + で新しいコート数を選択し、「変更」をタップ。
  • 試合中のコートがあるため減らせない場合 はエラーメッセージが表示されます。一度該当の試合を完了させてから再度試してください。

大会を終了する(→ 6. 大会を終了する

4-8. 完了した試合

その大会で完了済みの試合がある場合、画面下部に 「完了した試合」 セクションが表示されます。 - 勝利チームには 🏆 アイコンと太字、優勝色が付きます。 - スコア表示でどちらが勝ったか一目で確認できます。


5. スコアを入力する

試合中のコートカードをタップすると、結果入力ダイアログが開きます。
入力方式は 設定画面で切り替え可能 です(→ 8-1. スコア入力方式)。

5-1. 「スコアを入力」モード(デフォルト)

両チームのスコアを数値で入力。 1. 各チームの数値入力欄に得点を入力。 2. 「確定」 をタップ。

数値が入力されていないときはスナックバーで再入力が促されます。

5-2. 「勝ち負けのみ」モード

勝者を タップひとつで 記録できる軽量モード。 1. 勝利したチームのボタン(チーム名表示)をタップ。 2. その時点で確定します(追加の確認はありません)。

このモードでは内部的に勝者 1、敗者 0 のスコアが保存されます。

スコアを確定すると: - そのコートの試合は 完了済み に移ります。 - 4 人の選手は 待機中 に戻ります。 - 「完了した試合」セクションに記録が積み上がります。


6. 大会を終了する

すべての試合が終わったら、AppBar 右上の 「⋮」 → 「大会を終了する」 で大会をクローズします。

  1. 確認ダイアログで 「終了する」 をタップ。
  2. 大会のステータスが「完了」になり、自動的に 「履歴」タブ に遷移します。

この操作は取り消せません。 終了後はスコア入力や試合生成などの編集はできなくなります。


7. 履歴を見る

「履歴」タブには 完了済みの大会 が新しい順に並びます。各カードをタップすると詳細画面が開きます。

7-1. 大会詳細画面

大会情報カード

日付・場所・コート数を確認できます。

選手成績テーブル

  • 参加選手ごとに 試合数 / 勝利数 を表示。
  • 勝利数の多い順 に並び替えられ、1 位には 🏆 マークが付きます。

試合結果一覧

  • 完了した全試合のスコアと勝敗が時系列で表示されます。
  • 勝利チームには 🏆 と太字。

スコアが入っていない試合(万が一データが欠けている場合)は と表示されます。


8. 設定を変更する

「試合」タブ右上の 歯車アイコン から「設定」画面を開きます。

8-1. スコア入力方式

「対戦結果の入力方法」セクションで選択肢をタップすると、即時に保存されます。

モード 用途
スコアを入力 チームごとの得点を数値で記録(試合のレベル感や得点差まで残したい場合)
勝ち負けのみ 勝者をタップするだけで完了(さくっと進めたいカジュアル戦向き)

設定はアプリ全体・大会横断で適用されます。次回起動時にも保持されます。


9. 利用規約・プライバシーポリシー・ライセンスを見る

「試合」タブ右上の ⓘ アイコン から「情報」画面を開きます。

項目 動作
利用規約 タップで端末の標準ブラウザが開き、Web 上の利用規約ページが表示されます
プライバシーポリシー タップで端末の標準ブラウザが開き、Web 上のプライバシーポリシーが表示されます
ライセンス アプリが利用しているオープンソースライブラリのライセンス一覧(Flutter 標準のライセンス画面)

10. 試合生成アルゴリズムについて

「試合を生成する」ボタンを押したとき、内部では次のロジックで対戦カードが決まります。

  1. その大会の 進行中・完了済みの全試合 から、過去の組み合わせを集計:
  2. 各選手ペアが組んだ回数
  3. 各選手同士が対戦した回数
  4. 各選手の総試合数
  5. 待機中の選手(試合に出ていない、かつ「退場中」でない選手)から 空きコート分の試合 を生成。
  6. 4 人の組み合わせと 3 通りのチーム分けを総当たりで評価し、以下のスコア計算で 最も組み合わせが偏らない ペアを選びます。

スコア = ペア重複 × 5.0 + 対戦相手重複 × 2.0 + (最大試合数 − 最小試合数) × 1.0 - ペア重複 に最も大きな重みを置くことで、同じ 2 人組が固定化しないようにします。 - 対戦相手重複 が中程度の重みで、対戦相手の多様化を促します。 - 試合数差 が小さな重みで、出場機会の公平性を確保します。

特徴

  • 決定論的: 同じ状態(同じ試合履歴・同じ待機メンバー)からは常に同じ対戦カードが生成されます。
  • 公平性重視: ランダムでばらけさせるよりも「組み合わせの偏りの最小化」を優先します。
  • 想定人数: 十数名規模を想定。極端に多い場合は応答時間が伸びることがあります(O(n⁴) の総当たり)。

11. よくある質問

Q1. 「試合を生成する」ボタンが押せません。

A. 以下のいずれかの条件を満たしていません。 - 待機中の選手が 4 名未満 → 退場中の選手を復帰、または途中追加。 - 空きコートがない → どこかの試合を完了させてからもう一度。

Q2. 同じ名前の選手を 2 人登録できません。

A. 「選手名 + チーム名」の組み合わせがユニークである必要があります。チーム名を分けるか、田中 (太郎) のようにフルネームを入れて区別してください。

Q3. 大会の途中で参加者が増えたら?

A. 「待機中の選手」セクション右上の 人型 + アイコン から大会未参加の選手を追加できます。次の試合生成から対象になります。

Q4. ある選手だけ早く帰ったらどうする?

A. その選手のチップにある ログアウトアイコン をタップして「退場中」に移してください。その選手は試合生成の対象外になります(ただし大会自体には在籍したままです)。後で復帰させたいときは退場中チップをタップ。

Q5. 完了した試合のスコアを訂正できますか?

A. 現在のバージョンでは完了済み試合の編集機能はありません。誤ったスコアは新しい試合として組み直すか、次回大会以降で対応してください。

Q6. 大会を一度終了したらやり直せますか?

A. 終了した大会は履歴専用となり、再オープンや追加の試合生成はできません。続行したい場合は新しい大会を作成し、「前回大会から複製」を活用してください。

Q7. データはどこに保存されますか?

A. 端末のローカル DB(SQLite)に保存されます。クラウド同期や別端末への自動移行は行いません。アプリのアンインストールや端末ストレージの初期化でデータは失われますのでご注意ください。


トラブル時のチェックリスト

  • 試合を生成できない → 待機中 4 名以上 / 空きコートあり、を確認
  • コート数を減らせない → 該当コートの試合を完了させる
  • 選手追加でエラー → 選手名 + チーム名の重複を確認
  • 履歴に大会が出ない → 「⋮」 → 「大会を終了する」を実行したか確認

ご利用ありがとうございます。改善要望や不具合の報告は、matchweave.ktateishi@gmail.com へお寄せください。