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); }
//====================================================================================== // 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); }