Using C# I wish to check the results of six games against a players prediction for the same six games. The results and players predictions are captured using lists and a do-while loop.
The result for each game is then checked to see if it was a Home Win, Away Win or Draw. Currently, this is written out 6 times, as I cannot work out how to change the List index value in a do-while loop.
How can the result checker be shortened?
string ResultsG1, ResultsG2, ResultsG3, ResultsG4, ResultsG5, ResultsG6;
int resultsGameWeek = 1;
List<int> Results = new List<int>();
do
{
Console.Write("RG" + resultsGameWeek + "H: ");
Results.Add(Convert.ToInt32(Console.ReadLine()));
Console.Write("RG" + resultsGameWeek + "A: ");
Results.Add(Convert.ToInt32(Console.ReadLine()));
resultsGameWeek++;
} while (resultsGameWeek <= 6);
// RESULTS CHECKER (HW/AW/D?)
// Result.Game 1
if (Results[0] > Results[1])
{
Console.WriteLine("HW");
ResultsG1 = "HW";
}
else if (Results[0] < Results[1])
{
Console.WriteLine("AW");
ResultsG1 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG1 = "D";
}
// Result.Game2
if (Results[2] > Results[3])
{
Console.WriteLine("HW");
ResultsG2 = "HW";
}
else if (Results[2] < Results[3])
{
Console.WriteLine("AW");
ResultsG2 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG2 = "D";
}
// Result.Game3
if (Results[4] > Results[5])
{
Console.WriteLine("HW");
ResultsG3 = "HW";
}
else if (Results[4] < Results[5])
{
Console.WriteLine("AW");
ResultsG3 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG3 = "D";
}
// Result.Game4
if (Results[6] > Results[7])
{
Console.WriteLine("HW");
ResultsG4 = "HW";
}
else if (Results[6] < Results[7])
{
Console.WriteLine("AW");
ResultsG4 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG4 = "D";
}
// Result.Game5
if (Results[8] > Results[9])
{
Console.WriteLine("HW");
ResultsG5 = "HW";
}
else if (Results[8] < Results[9])
{
Console.WriteLine("AW");
ResultsG5 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG5 = "D";
}
// Result.Game6
if (Results[10] > Results[11])
{
Console.WriteLine("HW");
ResultsG6 = "HW";
}
else if (Results[10] < Results[11])
{
Console.WriteLine("AW");
ResultsG6 = "AW";
}
else
{
Console.WriteLine("D");
ResultsG6 = "D";
}
Console.WriteLine("ResultsG1 = " + ResultsG1);
Console.WriteLine("ResultsG2 = " + ResultsG2);
Console.WriteLine("ResultsG3 = " + ResultsG3);
Console.WriteLine("ResultsG4 = " + ResultsG4);
Console.WriteLine("ResultsG5 = " + ResultsG5);
Console.WriteLine("ResultsG6 = " + ResultsG6);
Console.ReadLine();
How would it be possible to run through the if statements to check; Results[0] against Results[1], then check Results[2] against [3], etc, with one do while loop?