static void Main(string[] args) { WordScrambleGameClient proxy = new WordScrambleGameClient(); bool canPlayGame = true; String playerName = Question("Player's name?"); if (!proxy.IsGameBeingHosted()) { if (YesOrNo("Welcome " + playerName + "! Do you want to host the game?")) { string inputWord = Question("Type the word to scramble."); string scrambledWord; try { scrambledWord = proxy.HostGame(playerName, inputWord); canPlayGame = false; Console.WriteLine("You're hosting the game with word '" + inputWord + "' scrambled as '" + scrambledWord + "'"); Console.ReadKey(); } catch (FaultException<GameBeingHostedFault> fault) { InformUser(fault.Detail.Message + " ", wait: false); } } } if (canPlayGame) { if (YesOrNo("Do you want to play the game?")) { Word gameWords = null; do { try { gameWords = proxy.Join(playerName); } catch (FaultException<MaximumNumberOfPlayersReachedFault> fault) { InformUser(fault.Detail.Message, wait: false); } catch (FaultException<PlayerAlreadyInGameFault> fault) { InformUser(fault.Detail.Message, wait: false); } catch (FaultException<HostCannotJoinTheGameFault> fault) { InformUser(fault.Detail.Message, wait: false); } catch (FaultException<GameIsNotBeingHostedFault> fault) { InformUser(fault.Detail.Message, wait: false); } } while (gameWords == null && YesOrNo("You failed to join, try again?")); if (gameWords != null) GameLoop(proxy, playerName, gameWords); } } }