Assignment 7: Word Game Part 3: Two Player Communication

This is an individual assignment.

This is the first part of an assignment where you enhance your word game to have two player capability (and for 5520 students, some additional sensor capability). In this part of the assignment, you will write the code you need to make a robust Android program that puts/gets information to the Internet and sends notifications to support a multi-player, asynchronous and synchronous game play.

You will need to both design and implement a two-player version of Dabble. You will need to be creative and use some of the rapid design techniques we have discussed and read about in the class. The more you work out your design carefully in advance, the easier the programming will be. Just for emphasis, the more you work out your design carefully in advance, the easier the programming will be. As discussed in class, your app design and the complexity of programming that app are linked.

Your first goal is to enhance the design of your game. After reading Assignment 9:

In no more than two pages, using screen sketches and a storyboard explain how your design for a two player game will work. We should be able to read this description and understand how you plan to design the synchronous and asynchronous two player modes. For students in 5520, this design should also clearly explain how sensors will also be used in the two player game.

Next, start programming.

For this assignments, you do not need to work on the graphics or the actual two-player interaction and game play. You just need to demonstrate that you have worked out the app-to-app communication strategy and the storage of data remotely, and that it works robustly.

You are free to store data on the web using whatever method you wish. To assist you, we will provide a simple server service that will allow you to get/put string/value pairs to our server that is very similar to accessing data using a SharedPreference object. [Information can be found here].

Important topics to consider:

Your assignment should be added to your existing app on the Play Store. Add a new button on your apps initial screen, "Communication", which will start your game and have the test code included. As in other assignments, do not add a new icon and launcher, and your previous assignments should still function. Your app should then have 7 buttons: About, Generate Error, Sudoku, Dictionary, Dabble, Communication, and Quit. Your app should be available on the Play Store by the assignment deadline, and your Git repository should be up to date with your code (and easily buildable from scratch should we need to download it and compile your project).

As you complete this assignment and have “aha!” moments where you figure out tricky things that might hold other people up, you should help out your classmates on Piazza.

If special instructions are needed for us to see how to test your code, please provide them in your write-up.

You will be graded based on how well you demonstrate that you have worked out the app communication (testing your code) and evidence that you have thought through all aspects of how to design your two-player modification to the game (reading your write-up).

Email the written part of this assignment with the subject line "Assignment 7" to Mansoor and as a PDF file named [YourFirstName][YourLastName].assign7.pdf by the deadline.