2 svar
109 visningar
Farbrorgul 408
Postad: 7 maj 2021 20:41 Redigerad: 7 maj 2021 21:02

Femkortspelet Kattis

Hej! Försöker lösa följande uppgift men har fastnat lite. Jag börjar med att slumpa korten men får då följande fel: "System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'" på raderna i for-loopen. Vad är felet?

using System;

namespace Skattkarta
{
    class Program
    {
        static void Main(string[] args)
        {
            Random slump = new Random();
            char[] färg = { 'R', 'K', 'H', 'S' };

            int[] värde = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };

            string[] alfKort= new string[5];
            string[] beatasKort = new string[5];

            // Slumpar Alfs och Beatas kort
            for (int i = 0; i < 5; i++)
            {
                // Alfs kort
                alfKort[i] += färg[slump.Next(0, 5)];
                alfKort[i] += värde[slump.Next(2, 15)].ToString();

                // Beatas kort
                beatasKort[i] += färg[slump.Next(0, 5)];
                beatasKort[i] += värde[slump.Next(2, 15)].ToString();
            }

            foreach (var kort in alfKort)
            {
                Console.WriteLine(kort);
            }

        }
    }
}
Laguna Online 30472
Postad: 7 maj 2021 21:06

Du verkar slumpa fem färger men det finns bara fyra.

Farbrorgul 408
Postad: 7 maj 2021 21:14
Laguna skrev:

Du verkar slumpa fem färger men det finns bara fyra.

Ok nu löstes det. Men hur kommer man vidare? Är det bäst att använda tvådimensionella arrayer för att spara värdena? Blir ju annars svårt att jämföra färger och siffror tänker jag?

Svara
Close