私は現在、トリビアゲームに取り組んでいます。私はチームクラス、質問クラス、ラウンドクラスを書いています。C#trivia game:ネクタイの場合はどうすればいいですか?
これは私のチームクラスです(私の質問には関係ないので、プロパティ、コンストラクタ、およびメソッドは投稿しません)。
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;
あなたは第二位タイがあります見ることができるように。
私は繰り返しのために確認することができます知っているが、チームは
500、400、200、200
または
500、500、200、100
のようなスコアを持っているものならばこの場合、上位2チームだけが次のラウンドに進むので、タイブレークの必要はありません。
誰かが私がタイブレーカーが必要かどうかを判断するのに役立つアルゴリズムを考えてもらえるかどうかは疑問でした。そしてもし私がしたら、どのチームが選ぶべきか、最終的には各ラウンドの上位2チームです。
読んでいただきありがとうございます!
データソースはSQLですか?もしそうなら、あなたの問題を解決する本当に便利な[RANK()](http://msdn.microsoft.com/en-us/library/ms189798.aspx)関数があります。 – Terry