public bool StartGame(Adventure adventure = null) { gameAdventure = adventure; if (gameAdventure == null) { gameAdventure = adventureService.GetInitialAdventure(); } CreateTitleBanner(gameAdventure.Title); CreateDescriptionBanner(gameAdventure); var charactersInRange = characterService.GetCharactersInRange(gameAdventure.GUID, gameAdventure.MinimumLevel, gameAdventure.MaxLevel); if (charactersInRange.Count == 0) { messageHandler.Write("Sorry, you do not have any characters in the range level of the adventure you are trying to play."); messageHandler.Write("Would you like to:"); messageHandler.Write("C)reate a new character"); messageHandler.Write("R)eturn to the Main Menu?"); var playerDecision = messageHandler.Read().ToLower(); if (playerDecision == "r") { messageHandler.Clear(); Program.MakeMainMenu(); } else if (playerDecision == "c") { messageHandler.Clear(); characterService.CreateCharacter(); } } else { messageHandler.Write("WHO DOTH WISH TO CHANCE DEATH!?"); var characterCount = 0; foreach (var character in charactersInRange) { messageHandler.Write($"#{characterCount} {character.Name} Level - {character.Level} {character.Class}"); characterCount++; } } character = characterService.LoadCharacter(charactersInRange[Convert.ToInt32(messageHandler.Read())].Name); var rooms = gameAdventure.Rooms; RoomProcessor(rooms[0]); return(true); }
private void RegisterNewGame(Socket socket) { //at the beginning both teams have same number of open player slots ulong noOfPlayersPerTeam = ulong.Parse(Settings.GameDefinition.NumberOfPlayersPerTeam); messageHandler.Clear(); RegisterGame registerGameMessage = new RegisterGame() { NewGameInfo = new GameInfo() { gameName = Settings.GameDefinition.GameName, blueTeamPlayers = noOfPlayersPerTeam, redTeamPlayers = noOfPlayersPerTeam } }; string registerGameString = XmlMessageConverter.ToXml(registerGameMessage); Connection.SendFromClient(socket, registerGameString); }
public void CreateCharacter() { messageHandler.Clear(); messageHandler.Write("***********************************"); messageHandler.Write("* CHARACTER CREATION *"); messageHandler.Write("***********************************\n\n"); var newCharacter = new Character(); messageHandler.Write("Adventurers Name Please : ", true); newCharacter.Name = messageHandler.Read(); messageHandler.Write("\nClass? F)ighter, T)hief, M)agicUser, H)ealer", true); switch (messageHandler.Read().ToLower()) { case "f": newCharacter.Class = CharacterClass.Fighter; newCharacter.Hitpoints = 8; newCharacter.Abilities.Strength = 1; break; case "t": newCharacter.Class = CharacterClass.Thief; newCharacter.Hitpoints = 4; newCharacter.Abilities.Dexterity = 1; break; case "m": newCharacter.Class = CharacterClass.MagicUser; newCharacter.Hitpoints = 4; newCharacter.Abilities.Intelligence = 1; break; case "h": newCharacter.Class = CharacterClass.Healer; newCharacter.Hitpoints = 6; newCharacter.Abilities.Wisdom = 1; break; } messageHandler.Write("\nBackground : ", true); newCharacter.Background = messageHandler.Read(); newCharacter.Abilities = SetAbilities(newCharacter); messageHandler.Clear(); messageHandler.Write("\n====================================\n\n"); messageHandler.Write("HERE IS THINE CHARACTER", true);; DisplayCharacter(newCharacter); messageHandler.Write("\nWHAT BE YOUR CHOICE? S)ave or R)edo"); var playerChoice = messageHandler.Read().ToLower(); if (playerChoice == "r") { CreateCharacter(); } else if (playerChoice == "s") { if (SaveCharacter(newCharacter)) { messageHandler.Clear(); Program.MakeMainMenu(); } } }