SMS Game Server
We have already covered a number of new concepts in this chapter. Wehave learnt how to use the standard user interface framework, how to
manipulate strings and how to read and receive SMS messages. In the
concluding example, all these features will be put to good use.
The application is an SMS game server with a user interface. It implements
the classic game of Hangman, which is described by Wikipedia as
follows:
One player thinks of a word and the other tries to guess it by suggesting
letters. The word to guess is represented by a row of dashes, giving the
number of letters. If the guessing player suggests a letter which occurs in
the word, the other player writes it in all its correct positions. The game is
over when the guessing player completes the word or guesses the whole
word correctly.
Note that our implementation omits the drawing part of the game.
Adding graphics to the game would be an interesting exercise after you
have read Chapter 5, which introduces the required functions.
You are the game master who runs the server. You can input the
word to be guessed by way of the user interface. Other players send
text messages to your phone, either to guess individual characters (e.g.
‘GUESS a’), or to guess the whole word (e.g. ‘WORD cat’). After each
guess, a reply message containing the current status of the word is sent
back to the guesser. There is no limit to the number of players.
This application provides a fully working example of how to build
SMS services of your own. You can easily adapt it to your own ideas. The
concept is simple. The user interface provides an option to initialize a
new game and an option to see the status of the current game. An inbox
callback handles all incoming messages, parses them, modifies the game
state and sends a reply to the guessing player.
The implementation contains some features which have not been
introduced earlier, but they are presented in the following discussion.
Since the code listing does not fit into one page nicely, we have divided it
into three parts. You should combine the parts to form the full application.
No comments:
Post a Comment