さて、一通り紹介したので予想される質問に対する役に立たないQ&A集を。
Q.配信画面に載せる仕組みはどうしてるんですか?
A.集計のシステムだけリニューアルしたので、その部分は前回紹介したものと全く変わってません。ここを執筆時点で2時間以上かかっていて疲れたので、前回の記事を参考にしていただければ助かります。
Q.順位が入れ替わった場合はどのように反映させるんですか?
A.とにかくラップ数と、見た時点のラップタイム経過時間を入れれば位置関係が更新されます。
例えば、とあるラップ内でA車をB車が追い抜いたとしましょう。
そうすると位置関係的に、次のラップのカウントが先に始まるのはB車で、次にA車のカウントが始まります。
そこで、現在のラップタイムを確認したときに、B車は20時ちょうどに10秒進んでいた、A車は20時00分10秒に10秒進んでいたとなった場合、A車はB車の10秒後にB車を見た地点にたどり着いている時点で、頭の中ではB車が先行しているとわかります・・・が、システム的には次のように処理されます。
先程の例で、現在時刻が20時01分00秒、ラップペースが1周2分だったとします。
A車:10秒+(20時01分00秒-20時00分10秒)÷120秒=0.5周
B車:10秒+(20時01分00秒-20時00分00秒)÷120秒=0.583….周
先程AB列の項で紹介した関数通りに計算しましたが、周回数からB車の方が前にいるとシステム上でも判定できました。
よって、順位変動があった場合、周回数とラップタイムを更新すれば自然とシステム側が順位を入れ替えてくれます。
ただし、言い換えれば順位変動があった後に、その2台以上~の周回数と現在のラップタイムを更新しなければいつまでも順位は反映されません。
ちなみに、赤旗などで隊列がストップした場合でも、全車コントロールラインをまたいで止まれば現在のラップタイム秒数から自動的に前後関係はわかるのでその点の集計も楽ですね。
隊列を入れ替えた場合は、入れ替わった状態で全車が再びコントロールラインをまたげば更新できます。
Q.GT7のUIがバグって正確なタイムがわからないのですが詰みですか?
A.ちょっと面倒ですが、その車がコントロールラインを跨いだ瞬間に0秒と入力すれば動きます。
20時00分0秒にラップタイム0秒を迎えたC車と、20時00分30秒にラップタイム0秒を迎えたD車・・・という具合に時刻の差で位置関係を把握できます。
Q.説明が下手でわからん。さっさとサンプルよこせ
A.説明下手で申し訳ありません。
作成が難しい場合は、私を集計係としてお呼びください。レース好きなので喜んで行きます。
スケジュールが合わない場合はごめんなさい。
というわけで、今回はうまくいった集計システムの仕組みについてお話しました。
参考になるかはわかりませんが、より皆さん好みのシステムを作ってみてください。
耐久レース万歳!!
それでは。