九州地区

教育システム情報学会 2020年度学生研究発表会

トーナメント大会支援ツールの Web 開発
Web Development of Tournament Supporting Tool
森永 晃弘*, 田中 久治*, 岡崎 泰久*
Akihiro MORINAGA*, Hisaharu TANAKA*, Yasuhisa OKAZAKI**
佐賀大学理工学部知能情報システム学科*
Department of Information Science, Faculty of Science and Engineering, Saga University
Email: 17233054@edu.cc.saga-u.ac.jp
あらまし：本研究では, 卓球トーナメント大会運営者のために, 大会の進行を支援するツールの開発を行った. このツールは, 運営者がデータに基づいてトーナメント表を手作業で作成することを自動化し, そのトーナメント表に試合結果を直接入力することによって, トーナメント表の更新も自動化する. これらの機能は, 大会の運営負担を軽減することが見込まれる. また, JavaScript の DOM 操作によって, 人数に応じたトーナメント表を柔軟に作成することができる. トーナメントの基礎となる「2 人」と「3 人」の山を作成, また試合結果を入力するためのボタンを設置し, 繰り返し呼び出すことでさまざまなトーナメント表を作成できることを確認した.
キーワード：トーナメント大会, 大会運営支援, Web ツール, トーナメント表作成, DOM 操作

1.

はじめに

2.2 アプリの機能
本ツールの機能一覧を表 1 に, トーナメント表の全体像を図 1 に, 結果入力画面を図 2 に示す. 本ツー
ルでは, 主に 2 つの機能を実装している.
一つ目は選手自動設定機能である. csv ファイルを本ツールに読み込ませることで, トーナメント表が自動で作成される. また, ファイルに記載されている名前はそのままトーナメント表の名前欄に表示される.
二つ目は試合結果入力機能である. 試合結果入力
はトーナメントの山に設置している「結果入力」ボタンを押すと, 対戦カードに応じた結果入力画面が表示される. ここでスコアを入力し, 「決定」ボタンを押すと, スコアが大きい方のトーナメントの色が黒から赤になる. また, 「リセット」ボタンは該当の試合結果を初期化し, トーナメントの色も赤から黒に戻る. 「閉じる」ボタンは結果入力画面を閉じる.
なお, 1 回戦の結果を入力するまでは, 2 回戦以降の「結果入力」ボタンを不活性化し, 結果が入力できない. 対戦者が決まり次第, 入力が可能となる.

今日, 多くのスポーツ大会がトーナメント形式で開催される. 特に卓球の大会の多くは個人戦で開催され, 参加人数も多く, トーナメント形式の大会を運営する上で, 運営コストが課題となっている. 参
加人数が増えるごとにトーナメントの山が大きくなり, トーナメント表の作成に時間を費やすことになる.
ト ー ナ メ ン ト 表 作 成 ツ ー ル に は
QuickTournament(1) などの先行例があるが, 結果をリアルタイムで表示, コート表示など観客に向けたツールとなっている. また, 先行例を使用する際, 選手の個人情報を記載したファイルを第三者に渡さなければならない.
本研究では, 自分の PC 内でもトーナメント表を自動で作成し, 試合結果を入力できるツールの開発を行った. 自分の PC 内で作成することで, 個人情報を第三者に渡すことがないため, 先行例の課題を解決することができる. また, トーナメント表を参加人数に応じて自動で作成できることは準備時間短縮につながり, 運営負担の軽減ができると考えられる.

2.

ツールの概要機能名

2.1 ツールの特徴

表 1 機能一覧
機能の説明「ファイルを選択」

本研究で開発したツールは観客に結果を見てもらうことよりも, 運営者の負担を軽減することを目的としている. 先行例でも実装されている, トーナメ
ント表を自動で作成する点や, 試合結果の表示を行う点に加えて, 所有している PC がネット環境に接続していなくても動作する点, 大会運営者がカスタマイズできる点, 選手の個人情報を第三者に提供することなく Web 上で情報を公開できる点, さらに運営者からの要望に応じて, 機能を拡張できるといった特徴がある.

ボタン

csv ファイルを読み込む「結果入力」ボタン

結果入力画面を開く

スコア入力

試合結果を入力する「決定」ボタン

上記で入力したスコアをトーナメント表に反映する

243「リセット」ボタン

試合結果を初期化する「閉じる」ボタン

結果入力画面を閉じる九州地区

教育システム情報学会 2020年度学生研究発表会

3.

トーナメント表の作成方法

4.

まとめと今後の課題

トーナメントとは 2 組の選手が対戦し, 勝った方が残っていく試合形式である. トーナメントを表現する際に二分探索木が用いられる. 例として, トー
ナメントに参加する人数が 8 人と 15 人の場合を考える. 初めに, 8 人の場合について考える. 8 などの偶数は自然数で半分にすることができる数字である. 8の場合, 4 と 4 が当てはまる. これを繰り返して, 2 もしくは 3 になった時, 二分探索木が完成する. 次に,15 の場合について考える. 15 などの奇数は自然数で半分にできない数字である. 15 の場合, まず 7 と 8に分ける. あとは前例で示した 8 の時と同様に, 2 または 3 が出るまで繰り返す.
本ツール開発の際に使用した言語は HTML とJavaScript である. 今回は JavaScript の DOM 操作を主として開発を行った. DOM 操作とは HTML ファイルを書き換えていく手段の 1 つである. JavaScriptは HTML よりも, 繰り返しプログラムを呼び出すことが容易である. その利点を活かし, トーナメントの山を繰り返し表示することで, トーナメント表の作成を行った.

本研究では, 卓球を想定した, 多数の試合が行われるトーナメント大会運営者の負担軽減を目指し,トーナメント表を自動で作成し, Web ブラウザで試合結果を入力することによって, 大会の進行を支援するツールの開発を行った. 選手自動設定機能により, 参加人数によって, トーナメントの山を最初から作成する必要がなくなり, 準備時間の短縮が見込まれる. また, 試合結果入力機能により, 試合結果を容易に入力することができ, 即座にトーナメント表に結果を反映させることができる. これは試合結果を大会運営者, 選手, 観客へ知らせる時間の短縮が見込まれる. さらに Web ページとして公開し, 選手へ大会の進行状況を知らせることで, 選手が自分の試合に対して注意を払うようになり, 大会の運営時間短縮にも関わることができると考えられる.
現時点では, 試合結果を保存する方法がなく, リロードを行うと結果が破棄される.これでは, 試合結果の保存が長期に渡ってできないため, 早急に実装を行う必要がある. また, 今回は大会開催の準備期間に焦点を当てたが, 大会当日の負担を軽減するような機能も実装することが求められる.

図 1 トーナメント表の全体像

図 2 結果入力画面

参考文献
(1)

4match.net:“QuickTournament~トーナメント表作成システム~”, https://quicktournament.com/ (参照 2021.2.3)

244