Exemple #1
0
        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);
        }
Exemple #2
0
        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();
                }
            }
        }