public void BuildHouse(Village s1, Town s2, City s3) { Console.WriteLine("Nu kan du välja att bygga saker i städerna, att bygga något kostar 5 guld och ökar gladheten i staden med 3."); Console.WriteLine(s1.GetName() + " har en gladhet på " + s1.GetHappiness() + ", " + s1.GetName() + " har en gladhet på " + s2.GetHappiness() + " och " + s3.GetName() + " har en gladhet på " + s3.GetHappiness() + "."); Console.WriteLine("I vilken stad vill du bygga?"); Console.WriteLine("1. " + s1.GetName()); Console.WriteLine("2. " + s2.GetName()); Console.WriteLine("3. " + s3.GetName()); Console.WriteLine("4. Ingen"); ConsoleKeyInfo d = Console.ReadKey(); //Loopen kollar ifall spelaren trycker ner en felaktig tangent och säger till while (d.Key != ConsoleKey.D1 && d.Key != ConsoleKey.D2 && d.Key != ConsoleKey.D3 && d.Key != ConsoleKey.D4) { Console.WriteLine("Du måste trycka på en knapp mellan 1 och 4!"); d = Console.ReadKey(); } //Om spelaren trycker 1 så bygger den i den första staden, 2 så bygger den i den andra osv. if (d.Key == ConsoleKey.D1) { s1.BuildTavern(); int thirdHappiness1 = s1.GetHappiness(); Console.WriteLine(s1.GetName() + " har nu en gladhet på " + thirdHappiness1 + "."); } else if (d.Key == ConsoleKey.D2) { s2.BuildChurch(); int thirdHappiness2 = s2.GetHappiness(); Console.WriteLine(s2.GetName() + " har nu en gladhet på " + thirdHappiness2 + "."); } else if (d.Key == ConsoleKey.D3) { s3.BuildSewers(); int thirdHappiness3 = s3.GetHappiness(); Console.WriteLine(s3.GetName() + " har nu en gladhet på " + thirdHappiness3 + "."); } else if (d.Key == ConsoleKey.D4) { Console.WriteLine("Spelet fortsätter."); } }
static void Main(string[] args) { //Här instansieras varje klass Village stad1 = new Village(); Town stad2 = new Town(); City stad3 = new City(); Event1 e1 = new Event1(); Event2 e2 = new Event2(); //Instansernas namn blir hämtade med hjälp av metoden GetName string name1 = stad1.GetName(); string name2 = stad2.GetName(); string name3 = stad3.GetName(); if (name1 == name2) { name1 = "Georgestown"; } else if (name2 == name1) { name1 = "Georgestown"; } else if (name2 == name3) { name2 = "Courtshire"; } if (name3 == name2) { name2 = "Courtshire"; } //Instansernas inkomster och behov blir insamlade med GetTaxes och GetNeeds int tax1 = stad1.GetTaxes(); int tax2 = stad2.GetTaxes(); int tax3 = stad3.GetTaxes(); int needs1 = stad1.GetNeeds(); int needs2 = stad2.GetNeeds(); int needs3 = stad3.GetNeeds(); //Instansernas gladhet blir hämtade av GetHappiness int happiness1 = stad1.GetHappiness(); int happiness2 = stad2.GetHappiness(); int happiness3 = stad3.GetHappiness(); //Information om vad spelet är och hur det ska spelas Console.WriteLine("I detta spelet spelar du som en kung/drottning som ska styra över ett medeltida kungadöme."); Console.WriteLine("Du måste använda dina resurser för att se till att dina undersåtar och deras städer och byar är glada."); Console.WriteLine("Du gör detta genom att fördela dina skatter och bygga olika saker i städerna, t.ex kyrkor."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); //Ännu fler instruktioner Console.WriteLine("De städerna du styr över kommer i tre olika storlekar med olika förutsättningar."); Console.WriteLine("1.By 2.Stad 3.Storstad."); Console.WriteLine("En by har den minsta populationen och därmed behöver minst mängd pengar för att fungera, men du får även mindre i skatt från en by."); Console.WriteLine("En stad har större befolkning och större behov samt skatter, medans storstad har mest av allting."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); //Mer information till spelaren Console.WriteLine("Du styr över tre städer, " + name1 + " en by, " + name2 + " en stad, och " + name3 + " en storstad."); Console.WriteLine(name1 + " har en inkomst på " + tax1 + " guld och ett behov av " + needs1 + " guld."); Console.WriteLine(name2 + " har en inkomst på " + tax2 + " guld och ett behov av " + needs2 + " guld."); Console.WriteLine(name3 + " har en inkomst på " + tax3 + " guld och ett behov av " + needs3 + " guld."); Console.WriteLine("Varje stad börjar med en gladhet på 5, hamnar detta värde under noll så kommer de göra uppror och du förlorar."); Console.WriteLine("Så länge du kan möta deras behov kommer deras gladhet inte gå ner, och du kan få upp den genom att bygga saker."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); //Alla instansernas skatter och behov samlas i två ints int totalTaxes = tax1 + tax2 + tax3; int totalNeeds = needs1 + needs2 + needs3; //Spelaren får reda på hur mycket pengar den har och vad den första staden har för gladhet och behov, sedan får den bestämma hur mycket den ska betala staden Console.WriteLine("Du ska spela två månader (spelet blir för långt annars) och får göra olika val samtidigt som du hanterar dina städer."); Console.WriteLine("Du börjar med en inkomst på " + totalTaxes + " guld och betalar ut " + totalNeeds + " guld."); e1.WriteInfo(totalTaxes, stad1, stad2, stad3); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); e1.BuildHouse(stad1, stad2, stad3); //Gladheten samlas in igen då den kan ha blivit uppdaterad av att spelaren byggde i en av städerna int fourthHappiness1 = stad1.GetHappiness(); int fourthHappiness2 = stad2.GetHappiness(); int fourthHappiness3 = stad3.GetHappiness(); //Skattkistan återfylls totalTaxes = tax1 + tax2 + tax3; //Spelprocessen körs tre gånger till, en för varje stad, spelaren får reda på gladhet och behov och skriver hur mycket pengar varje stad får //Denna gången får däremot stad 3 pest och gladheten går ner och behovet går upp e2.WriteInfo2(totalTaxes, stad1, stad2, stad3); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); e1.BuildHouse(stad1, stad2, stad3); //Spelet är över System.Console.WriteLine("Tack för att du har spelat! Spelet är över."); System.Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadLine(); }
public void WriteInfo2(int totalTaxes, Village a1, Town a2, City a3) { Console.WriteLine("Månad 2 börjar nu. Du har " + totalTaxes + " guld i din kista."); Console.WriteLine(a3.GetName() + " har drabbats av pesten! Stadens gladhet går ner med 3 och deras behov går upp med 2 denna månad!"); a3.SetHappiness(3); a3.IncreaseNeeds(2); //Om gladheten i stad 3 blir noll så förlorar spelaren if (a3.GetHappiness() == 0) { System.Console.WriteLine(a3.GetName() + "s gladhet har nått noll! De har startat ett uppror och många andra städer följer dem! Du har förlorat spelet."); System.Console.WriteLine("Var spelet roligt? (JA/NEJ)"); string input = Console.ReadLine(); //Loopen kollar så spelaren skriver rätt while (input != "ja" && input != "nej" && input != "Ja" && input != "Nej") { System.Console.WriteLine("Svara ja eller nej!"); input = Console.ReadLine(); } //Spelet stängs ner if (input == "ja" && input == "Ja" && input == "nej" && input == "Nej") { return; } return; } Console.WriteLine(a1.GetName() + " har en gladhet på " + a1.GetHappiness() + " och ett behov av " + a1.GetNeeds() + " guld, hur mycket vill du betala dem?"); a = Console.ReadLine(); b = 0; Int32.TryParse(a, out b); while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + a1.GetName() + " " + b + " guld."); if (b < a1.GetNeeds()) { a1.TickHappiness(); } int fifthHappiness1 = a1.GetHappiness(); //Om gladheten blir för låg förlorar spelaren if (fifthHappiness1 <= 0) { System.Console.WriteLine(a1.GetName() + "s gladhet har nått noll! De har startat ett uppror och många andra städer följer dem! Du har förlorat spelet."); return; } Console.WriteLine(a1.GetName() + " har nu en gladhet på " + fifthHappiness1 + "."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); Console.WriteLine(a2.GetName() + " har en gladhet på " + a2.GetHappiness() + " och ett behov av " + a2.GetNeeds() + " guld, hur mycket vill du betala dem?"); a = Console.ReadLine(); b = 0; Int32.TryParse(a, out b); while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + a2.GetName() + " " + b + " guld."); totalTaxes -= b; if (b < a2.GetNeeds()) { a2.TickHappiness(); } int fifthHappiness2 = a2.GetHappiness(); if (fifthHappiness2 <= 0) { System.Console.WriteLine(a2.GetName() + "s gladhet har nått noll! De har startat ett uppror och många andra städer följer dem! Du har förlorat spelet."); System.Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadLine(); return; } Console.WriteLine(a2.GetName() + " har nu en gladhet på " + a2.GetHappiness() + ", och du har " + totalTaxes + " guld i kistan."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); Console.WriteLine(a3.GetName() + " har en gladhet på " + a3.GetHappiness() + " och ett behov av " + a3.GetNeeds() + " guld, hur mycket vill du betala dem?"); a = Console.ReadLine(); b = 0; Int32.TryParse(a, out b); while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + a3.GetName() + " " + b + " guld."); totalTaxes -= b; if (b < a3.GetNeeds()) { a3.TickHappiness(); } int fifthHappiness3 = a3.GetHappiness(); if (fifthHappiness3 == 0) { System.Console.WriteLine(a3.GetName() + "s gladhet har nått noll! De har startat ett uppror och många andra städer följer dem! Du har förlorat spelet."); return; } Console.WriteLine(a3.GetName() + " har nu en gladhet på " + a3.GetHappiness() + ", och du har " + totalTaxes + " guld i kistan."); }
public void WriteInfo(int totalTaxes, Village t1, Town t2, City t3) { Console.WriteLine("Månad 1 börjar nu. Du har " + totalTaxes + " guld i din skattkista."); Console.WriteLine(t1.GetName() + " har en gladhet på " + t1.GetHappiness() + " och ett behov av " + t1.GetNeeds() + " guld, hur mycket vill du betala dem?"); string a = Console.ReadLine(); int b = 0; Int32.TryParse(a, out b); //Loopen kollar ifall spelarens svar är ogiltigt och ber spelaren skriva igen while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + t1.GetName() + " " + b + " guld."); //Om svaret spelaren skrev är mindre än stadens behov så går stadens gladhet ner if (b < t1.GetNeeds()) { t1.TickHappiness(); } //Gladheten samlas in igen och berättas för spelaren int secondHappiness1 = t1.GetHappiness(); Console.WriteLine(t1.GetName() + " har nu en gladhet på " + secondHappiness1 + "."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); //Här upprepas exakt samma process för stad 2 Console.WriteLine(t2.GetName() + " har en gladhet på " + t2.GetHappiness() + " och ett behov av " + t2.GetNeeds() + " guld, hur mycket vill du betala dem?"); a = Console.ReadLine(); b = 0; Int32.TryParse(a, out b); while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + t2.GetName() + " " + b + " guld."); totalTaxes -= b; if (b < t2.GetNeeds()) { t2.TickHappiness(); } int secondHappiness2 = t2.GetHappiness(); Console.WriteLine(t2.GetName() + " har nu en gladhet på " + secondHappiness2 + ", och du har " + totalTaxes + " guld i kistan."); Console.WriteLine("Tryck på vilken knapp som helst..."); Console.ReadKey(); Console.Clear(); //Och här upprepas den för stad 3 Console.WriteLine(t3.GetName() + " har en gladhet på " + t3.GetHappiness() + " och ett behov av " + t3.GetNeeds() + " guld, hur mycket vill du betala dem?"); a = Console.ReadLine(); b = 0; Int32.TryParse(a, out b); while (b < 0 || b >= totalTaxes) { Console.WriteLine("Du måste ange en siffra mellan 0 och max av din skattkista."); a = Console.ReadLine(); b = int.Parse(a); } Console.WriteLine("Du betalar " + t3.GetName() + " " + b + " guld."); totalTaxes -= b; if (b < t3.GetNeeds()) { t3.TickHappiness(); } int secondHappiness3 = t3.GetHappiness(); Console.WriteLine(t3.GetName() + " har nu en gladhet på " + secondHappiness3 + ", och du har " + totalTaxes + " guld i kistan."); }