ランニングチャレンジトーナメントをより簡単にするために使用するさまざまなユーティリティスクリプトが含まれています(特にSuper Smash Bros. Melee用)。
すべての例は、このリポジトリのダウンロードされたバージョンから実行されると想定されています。
# After creating a local tourney at https://challonge.com/mtvmelee77,
# I want to seed participants based on their Google MTV gaR PR rankings, and shuffle
# the bracket a bit while preserving each participant's projected placement.
python3 garpr_seeds_challonge.py mtvmelee77 --shuffle --region=googlemtv
# Then later on in the local, after loser's round 2 has finished, I want
# to create an amateur bracket automatically, so I don't have to spend time
# manually entering in each participant.
python3 create_amateur_bracket.py mtvmelee77
# Once that amateur bracket is created, it's available at
# https://challonge.com/mtvmelee77_amateur. The amateur bracket will use the
# same seedings as the original bracket by default, but I want to vary up the
# matches, so I run shuffled gaR PR seeds on the bracket again.
python3 garpr_seeds_challonge.py mtvmelee77_amateur --shuffle --region=googlemtv
これらのスクリプトはPython 3を使用し、Python 2と互換性がありません。これを設定する問題が発生した場合は、ここで新しい問題を自由に開きます。
git clone https://github.com/akbiggs/challonge-tools
cd challonge-tools
python3 -m venv challonge_tools_env
source challonge_tools_env/bin/activate
pip install -r requirements.txt
Challongeのユーザー名とAPIキーを使用して、Challonge.iniのローカルコピーを編集します。
試してみたいスクリプトを実行してください!
python3 <script_to_run>.py
garpr_seeds_challonge.py
PRランキングに基づいてトーナメントをシードします。
認識されていない名前は、最終場所にシードされます(シードリストに元の外観の順に)。ケースは名前で無視されます。
$ python3 garpr_seeds_challonge.py 32w50dxc
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
--region
フラグを使用して地域を変更できます。
$ python3 garpr_seeds_challonge.py 32w50dxc --region=googlemtv
Tournament updated; see seeds at http://challonge.com/32w50dxc/participants.
フラグ:
--region=norcal
:GAR PRのランキングを取得するために使用されている領域。デフォルト: norcal
--print_only=False
:トーナメントにコミットせずに新しい種を印刷したい場合は、これをTrue
に設定します。これは、トーナメントを再編成する前にテストに役立ちます。デフォルト: False
--shuffle=False
:各参加者の予測配置を保存しながら、その後種子をシャッフルしたい場合は、これをTrue
設定します。これは、ブラケットに少しの分散を導入するのに役立ちます。デフォルト: False
--config_file=challonge.ini
:Challonge資格情報を読み取る構成ファイル。これは、資格情報を誤ってソースコントロールにコミットするリスクを減らすのに役立ちます。デフォルト: challonge.ini
garpr_seeds.py
APIを使用せずに種を取得します。
実際のトーナメントなしでランキングをテストするのに役立ちます。
$ python3 garpr_seeds.py "Eden, Bryan, Non-gaR PR Person, Admiral"
[3, 2, 4, 1]
shuffle_seeds_challonge.py
トーナメントで種をシャッフルします。
これらの機能は、トーナメントの終わりに各参加者の予測される配置を保存しながら、ブラケットをシャッフルするのに役立ちます。これは、すべてをランダム化するだけで、Challongeの「シャッフルシード」と比較して、バランスを保ちながらトーナメントをランダム化するのに役立ちます。
$ python3 shuffle_seeds_challonge.py zcmvlkxm
Seeds shuffled: http://challonge.com/zcmvlkxm/participants
生成されたシャッフル順序に基づいて、すべての参加者の播種を自動的に更新します。
フラグ:
--config_file=challonge.ini
:Challonge資格情報を読み取る構成ファイル。これは、資格情報を誤ってソースコントロールにコミットするリスクを減らすのに役立ちます。デフォルト: challonge.ini
shuffle_seeds.py
APIを使用せずに種をシャッフルします。
これは、インターネット接続にアクセスできない場合、またはランダム化をテストしたい場合に役立ちます。
$ python3 shuffle_seeds.py 9
[1, 2, 3, 4, 6, 5, 8, 7, 9]
特定の数の参加者とともに、トーナメントの新しくシャッフルされたシード命令を返します。各数値は、対応するシードをリストする場所を示します。
$ python3 shuffle_seeds.py "Neal, Bryan, Paragon, gaR, Admiral Lightning Bolt, Eden"
['Neal', 'Bryan', 'Paragon', 'gaR', 'Eden', 'Admiral Lightning Bolt']
参加者名のリストから、新たにシャッフルした参加者の順序を返します。参加者は、1番目の種から最後の種子に注文する必要があります。参加者名の主要なスペースとトレーリングスペースが剥がされます。
create_amateur_bracket.py
:既存のChallongeトーナメントからアマチュアトーナメントを自動的に作成します。
アマチュアトーナメントでは、特定のしきい値を下回る人々を連れて行き、メイントーナメントの後、彼らのために別のトーナメントを開催します。これは、特に乱闘のような魂を砕く学習曲線を備えたゲームで、人々がより多くの練習をし、より楽しいものを得るのに役立ちます。
$ python3 create_amateur_bracket.py mtvmelee72
http://challonge.com/mtvmelee72を調べ、Loserのラウンド1および2で排除された人々を使用してアマチュアブラケットを作成することを申し出ます。
このツールは、何かを作成する前に承認を得ます。アマチュアブラケットが既に存在しても何もしません。既存のトーナメントのデータは変更されません。
このツールでのセッションの例:
フラグ:
--use_double_elimination=True
:アマチュアブラケットが二重脱出または単一誘発を使用するかどうか。デフォルト: True
--randomize_seeds=False
:アマチュアブラケットが種子を完全にランダム化するか、メインブラケットからシードを使用してそれらを把握する必要があるかどうか。デフォルト: False
--losers_round_cutoff=2
:敗者のラウンドその後、排除された人々はアマチュアブラケットの資格がなくなりました。 2の値は、敗者のラウンド1と2が含まれることを意味しますが、敗者のラウンド3ではありません。デフォルト: 2
--associate_challonge_accounts=False
:ユーザーのChallongeアカウントがアマチュアブラケットのエントリに関連付けられるかどうか。これは、彼らが参加したすべてのトーナメントを追跡するのに役立つのに役立ちますが、アマチュアブラケットが電子メールを送信するようにするため、アマチュアブラケットを生成するときは責任を持って使用してください。このツールは、アカウントが電子メールで送信されるかどうかをお知らせします。デフォルト: False
--config_file="challonge.ini"
:Challonge APIキーとユーザー名を読み取る構成ファイル。デフォルト: "challonge.ini"
例えば
$ python3 create_amateur_bracket.py mtvmelee72
--config_file=akbiggs_challonge.ini
--use_double_elimination=False
parse_challonge_config.py
:構成ファイルからChallonge資格情報を取得するための開発者ツール。
Challonge APIキーは、秘密にしたいものです。このツールをセットアップして、コードにハードコードするのではなく、gitリポジトリから無視できる構成ファイルからChallonge情報を簡単に解析できるようにします。
指示を含む設定ファイルの例については、Challonge.iniを参照してください。
$ python3 parse_challonge_config.py my_challonge.ini
{ user: 'blah', api_key: 'not telling' }
テストを実行する前に、コウモリを初期化する必要があります。
git submodule update --init --recursive
その後、 test.sh
実行してすべてのユニットテストを実行します。
./test.sh