public Museum BuildZornMuseet()
        {
            //The museum is created
            Museum zornMuseet = new Museum("Zornmuseet");

            //The rooms are created
            Room entrance    = new Room("Entrén");
            Room moraRoom    = new Room("Mora-rummet");
            Room siljansRoom = new Room("Siljans-rummet");
            Room museiShop   = new Room("Museibutiken");

            /*
             *    Important! Entrance must be added to the list on the 1st position!!!
             *
             */
            //The rooms are added to the museum´s list
            zornMuseet.AddRoomToList(entrance);
            zornMuseet.AddRoomToList(moraRoom);
            zornMuseet.AddRoomToList(siljansRoom);
            zornMuseet.AddRoomToList(museiShop);


            //Adds adjoining rooms for each room
            entrance.AddAdjoiningRoom(moraRoom);
            entrance.AddAdjoiningRoom(museiShop);

            moraRoom.AddAdjoiningRoom(entrance);
            moraRoom.AddAdjoiningRoom(siljansRoom);

            siljansRoom.AddAdjoiningRoom(moraRoom);
            siljansRoom.AddAdjoiningRoom(museiShop);

            museiShop.AddAdjoiningRoom(siljansRoom);
            museiShop.AddAdjoiningRoom(entrance);



            //The artworks is created
            Artwork midsommardans = new Artwork("Midsommardans", @"Detta är en av Anders Zorns mest kända målningar. 
Motivet är en logdans i Dalarna där dansen pågår för fullt och de dansade virvlar 
runt inför betraktaren. I bakgrunden kan man se en midsommarstång av den typ som 
för tankarna till Dalarna. I den röda husgaveln reflekteras det första morgonljuset.
Att motivet är från landsbygden visas också av att många bär folkdräkt.
Längst upp i majstången finns en svensk flagga.", "Anders Zorn");

            Artwork sommarnoje = new Artwork("Sommarnöje", @"Sommarnöje är en akvarell av Anders Zorn, utförd 1886 på Dalarö,
föreställande konstnärens hustru Emma Zorn och mästerlotsen Carl Gustav Dahlström vid Dalarö ström.
Sedan 3 juni 2010 är det den dyraste svenska målningen någonsin som sålts på auktion i Sverige, 
då verket auktionerades ut av Stockholms auktionsverk för 26 miljoner kronor. 
Tidigare högsta noterade pris var August Strindbergs Underlandet som 1990 såldes för 22,6 miljoner kronor.", "Anders Zorn");

            Artwork drottningSophia = new Artwork("Drottning Sophia", @"oljemålning av Anders Zorn från 1909, 
föreställande Sveriges drottning Sofia, Oscar II:s gemål. Storlek 133x96 cm. 
Zorn utförde även en etsning efter målningen Drottning Sophia, etsningen är dock 
spegelvänd mot målningen. Etsningen utfördes i Zorns ateljé i Stockholm 1909.", "Anders Zorn");

            Artwork reflexer = new Artwork("Reflexer", @"Reflexer är en målning föreställande en kvinna som 
vadar i ett vattenbryn på Dalarö i Stockholms skärgård. Målningen anses vara en av Zorns viktigaste.", "Anders Zorn");

            Artwork dansIGopsmorstugan = new Artwork("Dans i Gopsmorstugan", @"Dans i Gopsmorstugan är en målning från 1914. 
Målningen föreställer dans i en liten stuga i Gopsmor, en by som uppstod vid 
Österdalälven 1904 då Anders Zorn flyttade dit ett par äldre timmerhus, 
det äldsta från 1325. Platsen blev en fristad för konstnären, en kombinerad vildmarksateljé 
och fiskarstuga till vilken han kunde dra sig undan. Modellerna är ungdomar från trakten runt Mora.", "Anders Zorn");

            Artwork williamHowardTaft = new Artwork("William Howard Taft", @"William Howard Taft är en oljemålning av Anders Zorn från 1911, 
föreställande den amerikanske presidenten William Howard Taft. Zorn målade porträttet 
i Vita husets Blue Room där konstverket inte hänger än idag.", "Anders Zorn");


            //The artworks is added to the rooms
            moraRoom.AddArtwork(midsommardans);
            moraRoom.AddArtwork(sommarnoje);
            moraRoom.AddArtwork(drottningSophia);

            siljansRoom.AddArtwork(reflexer);
            siljansRoom.AddArtwork(dansIGopsmorstugan);
            siljansRoom.AddArtwork(williamHowardTaft);

            //The method returns the instance of the class Museum
            return(zornMuseet);
        }
示例#2
0
        //======================================================================================
        //       Method to visit the chosen museum and move between the different rooms
        //=======================================================================================
        public void StartTour(Museum museum)
        {
            //Fetches the rooms in the museum and
            //..and set the starting position of the program to the first room in the list
            //..which is supposed to be the entrance
            List <Room> listOfRooms = museum.GetListOfRooms();
            Room        currentRoom = listOfRooms[0];

            Console.Clear();
            Console.WriteLine("   Välkommen till " + museum.GetMuseumName());
            Console.WriteLine("_________________________________________");

            bool running = true;

            while (running)
            {
                //Variables declared for creating different choices depending on rooms and artworks
                //
                int count          = 0;                          //Count is used for keeping track of how many choices this loop should have
                int changeRoom     = 0;                          // Keeps track of if user choose to change room
                int lookAtArtworks = 0;                          // Keeps track of if user choose to look at the art
                int changeMuseum   = 0;                          // Keeps track of if user choose to change museum
                int close          = 0;                          // Keeps track of if user choose to close program

                List <string> menuChoices = new List <string>(); //Holds a menu of differens choices

                //Fetches the list of artworks and adjoining rooms for the current room
                List <Artwork> artworks       = currentRoom.GetArtworks();
                List <Room>    adjoiningRooms = currentRoom.GetAdjoiningRooms();

                foreach (var adJoiningRoom in adjoiningRooms)
                {
                    count++;  //adds a choice (number) in the menu for each room in the list
                    menuChoices.Add($"[{count}] Gå till {adJoiningRoom.GetRoomName()}");
                }
                changeRoom = count;

                //This menu choice will only appear if the room has artworks in it
                if (artworks.Count > 0)
                {
                    count++;
                    menuChoices.Add($"[{count}] Titta på {artworks.Count} olika konstverk");
                    lookAtArtworks = count;
                }

                count++;
                menuChoices.Add($"[{count}] Gå till ett annat museum");
                changeMuseum = count;

                count++;
                menuChoices.Add($"[{count}] Avsluta programmet\n");
                close = count;

                //**************************************
                //The created menu is written to console
                //**************************************
                Console.WriteLine($"\nVi befinner oss just nu i {currentRoom.GetRoomName()}");
                Console.WriteLine("\nHär kan du göra följande val:");

                foreach (var menyval in menuChoices)
                {
                    Console.WriteLine(menyval);
                }

                //Checks input
                int userChoice = 0;
                do
                {
                    Console.Write($"\nVälj mellan alternativ 1 till {count}: ");
                    try {
                        userChoice = Convert.ToInt32(Console.ReadLine());
                    }
                    catch {
                        Console.WriteLine($"Felaktig inmatning.");
                    }
                } while (userChoice < 1 || userChoice > count);


                //If the chosen number is in the range where change room is presented
                //.. current room will change to the chosen one.
                if (userChoice <= changeRoom)
                {
                    int changeToRoom = userChoice - 1;
                    currentRoom = adjoiningRooms[changeToRoom];
                    Console.Clear();
                }
                else if (userChoice == lookAtArtworks)
                {
                    //The method ShowArt is called
                    ShowArt(currentRoom.GetArtworks(), currentRoom);
                    Console.ReadKey();
                    Console.Clear();
                }
                else if (userChoice == changeMuseum)
                {
                    //The loop is aborted and method to change museum is called
                    running = false;
                    ChooseMuseum();
                }
                else if (userChoice == close)
                {
                    Console.Clear();
                    Console.WriteLine("Du har valt att avsluta programmet");
                    running = false;
                    //No method is called and loop is aborted
                }
            }
        }
        public Museum BuildOmodernaMuseet()
        {
            //The museum is created (empty)
            Museum omodernaMuseet = new Museum("Omoderna Museet");

            //The rooms are created
            Room entrance   = new Room("Entrén");
            Room hallway    = new Room("korridoren");
            Room greenRoom  = new Room("gröna rummet");
            Room redRoom    = new Room("röda rummet");
            Room blueRoom   = new Room("blåa rummet");
            Room whiteRoom  = new Room("vita rummet");
            Room blackRoom  = new Room("svarta rummet");
            Room purpleRoom = new Room("lila rummet");



            //The rooms are added to the museum´s list

            /*
             *    Important! Entrance must be added to the list on the 1st position!!!
             *
             */
            omodernaMuseet.AddRoomToList(entrance);
            omodernaMuseet.AddRoomToList(hallway);
            omodernaMuseet.AddRoomToList(greenRoom);
            omodernaMuseet.AddRoomToList(redRoom);
            omodernaMuseet.AddRoomToList(blueRoom);
            omodernaMuseet.AddRoomToList(whiteRoom);
            omodernaMuseet.AddRoomToList(blackRoom);
            omodernaMuseet.AddRoomToList(purpleRoom);



            //Adds adjoining rooms for the green room
            greenRoom.AddAdjoiningRoom(redRoom);
            greenRoom.AddAdjoiningRoom(blueRoom);
            greenRoom.AddAdjoiningRoom(hallway);

            //Adds adjoining rooms for the red room
            redRoom.AddAdjoiningRoom(greenRoom);
            redRoom.AddAdjoiningRoom(purpleRoom);

            //Adds adjoining rooms for the blue room
            blueRoom.AddAdjoiningRoom(greenRoom);
            blueRoom.AddAdjoiningRoom(whiteRoom);
            blueRoom.AddAdjoiningRoom(blackRoom);
            blueRoom.AddAdjoiningRoom(purpleRoom);

            //Adds adjoining rooms for the hallway
            hallway.AddAdjoiningRoom(greenRoom);
            hallway.AddAdjoiningRoom(entrance);

            //Adds adjoining rooms for the entrance
            entrance.AddAdjoiningRoom(hallway);

            //Adds adjoining rooms for the white room
            whiteRoom.AddAdjoiningRoom(blueRoom);

            //Adds adjoining rooms for the black room
            blackRoom.AddAdjoiningRoom(blueRoom);

            //Adds adjoining rooms for the purple room
            purpleRoom.AddAdjoiningRoom(blueRoom);
            purpleRoom.AddAdjoiningRoom(redRoom);


            //The artworks are created
            Artwork VenusFodelse = new Artwork("Venus födelse", @"En målning som illusterar myten om 
hur gudinnan Venus föds ur havets skum. Målningen tros ha varit ett 
beställningsverk av Lorenzo de’Medici men inget vet säkert, 
vilket kanske inte är så konstigt då det trots allt gått över 500 år sedan Boticelli 
färdigställde det omtalade verket.", "Sandro Boticelli");

            Artwork nackrosor = new Artwork("Näckrosor", @"'Le Bassin aux Nympheas' är den franska 
originaltiteln på detta impressionistiska mästerverk och 
betyder ordagrant ”Näckrosdammen”. Tavlan, som var färdig 1919, 
ingår i en serie som innehåller runt 250 oljemålningar.", "Claude Monet");

            Artwork nattvakten = new Artwork("Nattvakten", @"Denna storslagna oljemålning stod klar 1642 och 
heter egentligen 'Kapten Frans Banning Coqs skyttekompani'. 
Målningen illustrerar Amsterdams nattvakt i full utryckning ledda 
av just Kapten Banning Coqs och dennes sidekick Willem van Ruytenburch.", "Rembrandt van Rijn");

            Artwork skriet = new Artwork("Skriet", @"En målning i fyra versioner som föreställer en person 
som står och skriker vid en solnedgång. Ångest och demoner menar vissa, 
medan andra hävdar att Munch var inspirerade av de blodröda 
solnedgångarna som kunde skådas i Oslo efter det dramatiska 
vulkanutbrottet på Krakatoa i Indien. Och dramatisk är även historien 
om verket Skriet, vars berättelse innefattar både multimiljardärer, 
stölder, rån och mördare på film.", "Edvard Munch");

            Artwork flickaMedParlorhange = new Artwork("Flicka med pärlörhänge", @"Ingen vet exakt när denna 
vackra tavla målades eller vem flickan på motivet är. 
Från början var bakgrunden i målningen grön. Med tiden 
har den dock mörknat och är idag närmast svart.", "Johannes Vermeer");

            Artwork guernica = new Artwork("Guernica", @"'Guernica' är en av Pablo Picassos mest berömda och 
fängslande målningar. Inte bara på grund av dess omedelbara 
visuella effekt och storlek (3,49 x 7,76 meter), utan även för 
vad den skildrar; bombningen av den baskiska staden Guernica under 
det spanska inbördeskriget.", "Pablo Picasso");

            Artwork adamsSkapelse = new Artwork("Adams skapelse ", @"Efter att det Sixtinska kapellet i Vatikanstaten revs
av påven efter en allt för blöt nattvard lyckades denna takfresk räddas. 
Den skapades av ingen mindre än Michelangelo år 1511 och målningen illustrerar 
hur Gud ger liv åt Adam.", "Michelangelo");

            Artwork Nattvarden = new Artwork("Nattvarden", @"Upphovsmannen Leonardo da Vinci uppförde i slutet av 
1400-talet målningen direkt på det milanesiska klostret Santa Maria delle Grazies putsväggar.
Efter ett besök av påven gick dock klostret samma öde till mötes som det sixtinska kapellet.
Tavlan gick som tur var att rädda och efter en restaurering för över 40 miljoner kronor förgyller
den nu en av väggarna i det Omoderna museet.", "Leonardo da Vinci");

            Artwork stjarnenatt = new Artwork("Stjärnenatt", @"Vem kan motstå Vincent van Goghs djärva penseldrag i
denna fantastiska målning? Verket, med originaltiteln ”De Sterrenacht”, skapades 1889
och föreställer utsikten från van Goghs rum från den tid han var inlagd på ett mentalsjukhus 
tilsammans med påven i den lilla franska staden Saint-Rémy.", "Vincent van Gogh");

            Artwork monaLisa = new Artwork("Mona Lisa", @" 'Mona Lisa', eller 'La Gioconda' som är dess originaltitel,
har figurerat världen över i allt från filmer till massproducerade turistsouvernirer.
Målningen blev färdigställd 1507 efter fjorton års arbete. Beställare var den italienske politikern 
Francesco del Giocondo som ville hänga tavlan i sitt toalettskåp, vilket också är anledningen 
till att tavlan är så liten. Det är nog många som blivit snopna när de stegat in på 
Omoderna museet och upptäckt att världens mest berömda målning endast mäter 7 x 3 cm…", "Leonardo da Vinci");

            Artwork denGuleKristus = new Artwork("Den gule Kristus", @" Målningen är, tillsammans med Den gröne Kristus, 
Gauguins viktigaste bidrag till symbolismen som i kontrast till realismen och naturalismen 
ville återknyta till äldre tiders allegoriska måleri. Den tillkom i Pont-Aven i Bretagne dit 
Gauguin kom för första gången 1886. Här mötte han Émile Bernard och tillsammans utvecklade de 
syntetism med stora, rena färgytor omgivna av svarta konturer", " Paul Gauguin");



            //The artworks are added to the different rooms
            greenRoom.AddArtwork(VenusFodelse);
            greenRoom.AddArtwork(nackrosor);

            redRoom.AddArtwork(nattvakten);
            redRoom.AddArtwork(skriet);
            redRoom.AddArtwork(flickaMedParlorhange);

            blueRoom.AddArtwork(guernica);

            whiteRoom.AddArtwork(adamsSkapelse);

            purpleRoom.AddArtwork(Nattvarden);
            purpleRoom.AddArtwork(stjarnenatt);
            purpleRoom.AddArtwork(monaLisa);
            purpleRoom.AddArtwork(denGuleKristus);

            //The method returns the instance of the class Museum
            return(omodernaMuseet);
        }