私は現在、トリビアゲームに取り組んでいます。Team クラス、Question クラス、Round クラスを作成しました。
これは私のチーム クラスです (プロパティ、コンストラクター、メソッドは質問に関係ないため、投稿しません)。
public class Team
{
private int _teamNumber = 0;
private int _score = 0;
}
そして、これは私のラウンドクラスです:
public class Round
{
Team[] _teams = new Team[4];
Question[] _questions = new Clue[30];
bool _done = true;
}
私が抱えている問題は、引き分けの場合にどうするかです。8チームあります。最初の 2 つのラウンド (各 4 チーム) のそれぞれから 2 人の勝者が、第 3 ラウンドと最終ラウンドの資格を得ます。
したがって、次のようなことが発生した場合:
currentRound.Teams[0].Score = 300;
currentRound.Teams[1].Score = 300;
currentRound.Teams[2].Score = 100;
currentRound.Teams[3].Score = 350;
ご覧のとおり、2 位は同点です。
繰り返しを確認できることはわかっていますが、チームが次のようなスコアを持っている場合はどうなりますか
500、400、200、200
また
500、500、200、100
この場合、上位 2 チームのみが次のラウンドに進むため、タイブレークは必要ありません。
それで、タイブレーカーラウンドが必要かどうかを判断するのに役立つアルゴリズムを考え出すのを誰かが手伝ってくれるかどうか疑問に思っていました. もしそうなら、どのチームを選ぶべきか、そして最終的に各ラウンドの上位 2 チームは?
読んでくれてありがとう!