Lösningsförslag till uppgift 5.21
Random slump = new Random();
int antalTärningar = 5;
int antalSidor = 6;
int[] tärningsresultat = new int[antalTärningar];
bool[] låstaTärningar = new bool[antalTärningar];
bool allaTärningarLåsta = false;
// Ge startvärden till arrayerna
for (int i = 0; i < antalTärningar; i++)
{
tärningsresultat[i] = 0;
låstaTärningar[i] = false;
}
while (allaTärningarLåsta == false)
{
// Slå tärningarna som inte är låsta
for (int i = 0; i < antalTärningar; i++)
{
if (låstaTärningar[i] == false)
{
tärningsresultat[i] = slump.Next(1, antalSidor + 1);
}
}
// Skriv ut tärningsresultaten
Console.WriteLine("Här är dina tärningsresultat:");
for (int i = 0; i < antalTärningar; i++)
{
Console.Write($"Tärning {i+1}: {tärningsresultat[i]}");
if (låstaTärningar[i] == true)
{
Console.Write(" LÅST");
}
Console.WriteLine();
}
Console.WriteLine();
// Lås nya tärningar
Console.WriteLine("Vilka tärningar vill du låsa?");
string låsSträng = Console.ReadLine();
string[] låsLista = låsSträng.Split(' ');
for (int i = 0; i < låsLista.Length; i++)
{
int nyttLåsIndex = int.Parse(låsLista[i]) - 1;
låstaTärningar[nyttLåsIndex] = true;
}
// Kolla om alla tärningar är låsta
allaTärningarLåsta = true;
for (int i = 0; i < antalTärningar; i++)
{
if (låstaTärningar[i] == false)
{
allaTärningarLåsta = false;
}
}
Console.WriteLine();
}
Console.WriteLine("Alla tärningar är låsta, programmet avslutas...");