public async Task <HttpResponseMessage> MakeHttpClientRequest(object data = null, Verbs method = Verbs.POST, Dictionary <string, string> headers = null) { HttpResponseMessage response = null; using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (headers != null) { foreach (var header in headers) { httpClient.DefaultRequestHeaders.Add(header.Key, header.Value); } } var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json"); if (method.Equals(Verbs.POST)) { if (data == null) { data = new { } } ; response = await httpClient.PostAsync($"{Url}", content); } else if (method.Equals(Verbs.GET)) { response = await httpClient.GetAsync(this.Url); } return(response); } } }
/* * Method to reset the quit and restart. */ private bool IsSingleVerbCommand(Verbs verb) { if (verb.Equals(Verbs.Swim) || verb.Equals(Verbs.Bunyon) || verb.Equals(Verbs.Jump) || verb.Equals(Verbs.Release) || verb.Equals(Verbs.Away) || verb.Equals(Verbs.Suicide) || verb.Equals(Verbs.Inventory)) { return(true); } else { return(false); } }
/* * Game Controller that handles the execution of game logic */ public void NewQuest() { while (gameInProgress) { while (!quit && !restart && gameInProgress) { DisplayAreaText(); Output.OutputInstance.NewLine(); cmd = input.GetUserInput(); Directions direct = input.ValidDirection(cmd[0]); if (!direct.Equals(Directions.Invalid)) { //Special check for when entering the long D hallway into darkness and returnign safely from the darkness. Otherwsie, darkness sends to misty room. if (!AreaEvent.AreaEventInstance.LampOn && previousArea.GetAreaIdentifier().Equals(AdventurelandAreas.Long_Downsloping_Hallway) && direct.Equals(Directions.Up)) { previousArea = currentArea; currentArea = quest.GetArea(AdventurelandAreas.Semi_Dark_Hole); } else { previousArea = currentArea; currentArea = quest.GetArea(processor.ProcessDirection(direct, currentArea)); } if (currentArea == null) { Output.OutputInstance.InvalidArea(); currentArea = previousArea; } else if (AreaEvent.AreaEventInstance.LampOn) { AreaEvent.AreaEventInstance.LampCount = AreaEvent.AreaEventInstance.LampCount - 1; if (LampDarknessCheck(currentArea)) { currentArea = quest.GetArea(AdventurelandAreas.Large_Misty_Room); } else if (AreaEvent.AreaEventInstance.LampCount == 0) { Output.OutputInstance.LampOutOfEnergy(); AreaEvent.AreaEventInstance.LampOn = false; } } } else { Verbs verb = input.ValidVerb(cmd[0]); if (verb.Equals(Verbs.Restart)) { restart = true; Output.OutputInstance.PrintRestart(); Output.OutputInstance.NewLine(); } else if (verb.Equals(Verbs.Quit)) { quit = true; Output.OutputInstance.PrintQuit(); Output.OutputInstance.NewLine(); } else if (!verb.Equals(Verbs.Invalid)) { singleVerb = IsSingleVerbCommand(verb); noun = ""; if (!singleVerb) { for (int i = 1; i < cmd.Count; i++) { noun += cmd[i] + "_"; } } if (noun.Length > 0 || singleVerb) { AdventurelandItems item; Verbs verb2; if (noun.Length > 0) { item = input.ValidItem(noun); //removes the last appendeed _ if (item.Equals(AdventurelandItems.Invalid) || (item.Equals(AdventurelandItems.Bees) && AreaEvent.AreaEventInstance.BeesRemoved)) { item = input.CheckShortCut(noun); } verb2 = input.ValidVerb(noun); } else { item = AdventurelandItems.Invalid; verb2 = Verbs.Invalid; } if (!item.Equals(AdventurelandItems.Invalid) || !verb2.Equals(Verbs.Invalid) || singleVerb) { checkIfAreaChanged = currentArea; processor.ProcessVerb(verb, verb2, item, ref currentArea, quest); if (checkIfAreaChanged != currentArea) { previousArea = checkIfAreaChanged; } } else { Output.OutputInstance.InvalidCommand(); } } else if (verb.Equals(Verbs.Help)) { processor.DoHelp(); } else if (verb.Equals(Verbs.Score)) { processor.DoScore(); } else if (verb.Equals(Verbs.UWU)) { Output.OutputInstance.UWU(); } else { Output.OutputInstance.InvalidCommand(); } } else { Output.OutputInstance.InvalidCommand(); } } if (!AreaEvent.AreaEventInstance.LampOn && currentArea.GetDark()) { previousArea = currentArea; currentArea = quest.GetArea(AdventurelandAreas.Darkness); } else if (AreaEvent.AreaEventInstance.LampOn && currentArea.Equals(quest.GetArea(AdventurelandAreas.Darkness))) { currentArea = previousArea; } if (AreaEvent.AreaEventInstance.ChiggerBite && !AreaEvent.AreaEventInstance.MudApplied) { if (AreaEvent.AreaEventInstance.ChiggerCount == 0) { Output.OutputInstance.ChiggerKilledPlayer(); currentArea = quest.GetArea(AdventurelandAreas.Large_Misty_Room); AreaEvent.AreaEventInstance.ChiggerBite = false; AreaEvent.AreaEventInstance.ChiggerCount = CHIGGER_COUNT; } else { AreaEvent.AreaEventInstance.ChiggerCount--; } } else if (AreaEvent.AreaEventInstance.MudApplied) { AreaEvent.AreaEventInstance.ChiggerBite = false; AreaEvent.AreaEventInstance.ChiggerCount = CHIGGER_COUNT; } if (Score.ScoreInstance.ScoreValue >= WINNING_NUMBER) { gameInProgress = false; Output.OutputInstance.ScoreOutput(); } } gameInProgress = input.ProcessConfirmation(); if (gameInProgress == true) { ResumeGame(); } } }