Ejemplo n.º 1
0
        // utskrift av information om rummet
        // nuvarande position ligger lagrat på första raden i rumlistan
        static private void VisaRumInfo(cMuseum karta, cTavelLista lista)
        {
            // visa nuvarande position
            Console.WriteLine(" ");
            Console.WriteLine("Välkommen till " + karta.RumLista[0].Beskrivning);

            // lista alla tavlor som finns i rummet
            // vissa rum saknar tavlor
            if (lista.TavelLista.Count > 0)
            {
                Console.WriteLine("Här finns följande tavlor: ");
                Console.WriteLine("");
                for (int ind = 0; ind < lista.TavelLista.Count; ind++)
                {
                    Console.Write(lista.TavelLista[ind].Namn);
                    Console.Write(", ");
                    Console.Write(lista.TavelLista[ind].Beskrivning);
                    Console.Write(", Fotograf: ");
                    Console.WriteLine(lista.TavelLista[ind].Upphov);
                }
            }

            // lista på möjliga val
            Console.WriteLine("");
            Console.WriteLine("Gå vidare till: ");
            for (int ind = 1; ind < karta.RumLista.Count; ind++)
            {
                Console.Write("val " + ind + ": ");
                Console.WriteLine(karta.RumLista[ind].Beskrivning);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            // börjar med att visa information om programmet
            VisaProgramInfo();

            // används för att testa utgångsvillkor
            bool fortsatt = true;

            // start i entre-rummet
            string nyttRum = "1";

            // användaren väljer museum
            // enbart val '1' och '2' är tillåtna
            string museum = HemtaMuseum();

            if ((museum != "1") && (museum != "2"))
            {
                fortsatt = false;
            }

            // loop - vandra runt i rummen
            // tills utgången valts (rumId "0")
            while (fortsatt)
            {
                // visa nytt rum på blank skärm
                Console.Clear();

                // läs in info om valt rum och intilliggande rum
                // valt museum skickas med för att hitta rätt planritning
                cMuseum karta = new cMuseum(museum, nyttRum);

                // läs in info om ev tavlor i valt rum
                cTavelLista tavelLista = new cTavelLista(nyttRum);

                // visa info om valt rum och ev tavlor placerade i rummet
                VisaRumInfo(karta, tavelLista);

                // val av nytt rum, "0" = avslut
                // continue = hoppar över resten av detta loop-varv
                string nyttVal = HemtaNyttVal();
                if (nyttVal == "0")
                {
                    nyttRum  = nyttVal;
                    fortsatt = false;
                    continue;
                }

                // nytt val kontrolleras
                // om ej giltigt, stanna kvar i samma rum
                // continue = hoppar över resten av detta loop-varv
                // nuvarande rum är lagrat först i listan
                bool giltigtVal = karta.KontrolleraVal(nyttVal);
                if (!giltigtVal)
                {
                    nyttRum = karta.RumLista[0].RumId;
                    continue;
                }

                // hämta rumId för vald rad
                nyttRum = karta.GetNextRoom(nyttVal);
            }
        }