NMLibrary / vbc

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vbc

バーチャルにクイズ大会「abc」を再現できるPython3向けツールです。

本家のクイズ大会「abc」: http://abc-dive.com/

使用方法

python .\vbc.py

とするとファイルダイアログが開きますので、sample_data.csvの形式で用意したデータを入力します。

すると、vbc_log.txtおよびvbc_log_for_excel.csvが生成されます。

vbc_log.txtには1問ごとの正誤など詳細な情報が記録されています。読み物としてお使いください。

vbc_log_for_excel.csvは、vbc_data_sample.xlsxにインポートすることで、大会結果を見やすく表示するためのデータです。

sample_data.csvの形式について

sample_data.csvは以下のようになっています。

1,あ,7,7,1,2,3,4
2,い,7,7,1,2,3,4
3,う,7,7,1,2,3,4
……

abcにおける1Rペーパークイズの結果に相当する上位49名を49行に入力してください。

各行は順位、名前、知識量、早押し力、10○10×のコース希望、Swedish 10のコース希望、10 by 10のコース希望、10 up-downのコース希望となっています。

  • 知識量は、早押しで解答権を得たとき、正解を導き出せる確率に大きく関わります。他人より早くボタンを押す確率にも多少関わります。また、敗者復活1st stepでの正解確率に関わります。
  • 早押し力は、他人より早くボタンを押す確率に大きく関わります。解答権を得たとき、正解を導き出せる確率にも多少関わります。敗者復活1st stepでの正解確率には関係しません。
  • 知識量、早押し力ともに0以上の実数で設定してください。5~9あたりで設定するとだいたいうまくいきます。5だとかなり弱く、9だとかなり強くなります。
  • 各コース希望の仕様は、次のようになっています。
    • 各コースの数値は、0以上の実数で設定してください。
    • 0からそのコースの値までの乱数を各コースについてとります。例えば10○10×の数値が1ならば、0から1までの乱数をとります。
    • 4コースについて乱数をとったのち、小さい順に並べたものがその人のコース希望となります。数値を小さくするほど希望順位が高くなる確率が上がります。
    • コース選択においては、まだ組分けされていないコースのうち、各人にとって希望順位が最高のコースが選ばれたら、コース出場を希望します。

vbc_log_for_excel.csvの使い方について

vbc_data_sample.xlsxにインポートして使います。

vbc_data_sample.xlsxには、vbc_sample参加者データの2つのシートがサンプルとして置いてあります。

まず、新しいシートを作り、データ外部データの取り込みからvbc_log_for_excel.csvをカンマ区切りデータとしてインポートします。A1セルを左上端としてください。

そして、シートvbc_sampleのAH3セルの文字列を「参加者データ」から新しいシートの名前に変えると、vbc_log_for_excel.csvのデータに沿った表示が得られます。

残った参加者データのシートおよび、インポートし終わったvbc_log_for_excel.csvは削除してもかまいません。

About

License:MIT License


Languages

Language:Python 100.0%