last updated: Thu Dec 5 23:10:58 EST 2002 (sklar)
last updated: Mon Nov 18 23:17:10 EST 2002
The goal of this assignment is to complete your educational game, including the full client and server, user and software documentation, as well as packaging the game for installation on a Linux machine.
This assignment is worth 35 points (out of 110 this semester). Distribution of points is indicated below.
FIRST, print out the timesheet and keep track of how much time you spend doing the tasks outlined below.
1. design.(4 points)
As usual, you need to begin with a design document. This must include a "storyboard" in which you draw the various screens in the user-interface, including the login screen. You must show the progression from one screen to another. You must indicate how errors are handled, i.e., how users are notified about errors (both system-generated and user-generated) and what happens next in the game after an error occurs (does the game end? can the user correct the situation?, etc.)
This documentation should be 1-2 pages. The screen drawings can be done by hand or generated electronically. It must be complete -- so you need to be CLEAR and CONCISE. This portion must be turned in as hardcopy.
This section is worth 3 points:
2. write the user-interface for your game.(8 points)
Using Java, write a graphical user-interface for the client portion of your game. This must be a Java application OR a Java applet that we can run using appletviewer. If it is an applet, then you MUST turn in an HTML file for invoking the applet.
hw56<cunix-id>.javaand name the html file:
3. write java software documentation
for your client.(2 points)
You need to document your Java code using javadoc. Keep in mind the discussion from class, especially which tags are required and which sections of code must be documented.
Put the files in a directory called "javadoc" below your working directory. When you run the submit script, this directory will get picked up and submitted along with your program files.
4. connect to the server.
As discussed in class on Mon Nov 11, you need to modify your server code from homework #3 so that it is a stand-alone program. Your server should receive all communications from the Java client via sockets. Your server should interface with your data file(s), as done in homework #3.
5. add the second player.
To finish up the game, you need to implement a second player. This can be either (pick one):
6. write C software documentation for your server.(2 points)
You need to include a header comment at the top of each file. You need to have a block comment at the beginning of each function. Include the same type of information in the comments that you are putting in your Java code documentation.
7. use configuration management.(2.5 points)
Create an RCS directory below your working directory. Put your Java files in that directory.
Create a makefile that checks the Java files out of the RCS directory and builds the client. Include the automatic version tag we discussed in class and link that to the version section of the javadoc comments.
The makefile should check the C files out of the RCS directory and build the server.
The default target in the makefile should build both the Java client and the C server.
Again, the submit script will pick up the RCS directory automatically. Make sure that all your files except the makefile are checked into RCS when you submit.
This section is worth 2.5 points:
8. create an installation package.(1 point)
You need to create an installation package for your game. We will discuss how to do this in class on Mon Nov 25.
SEE INSTRUCTIONS posted here.
9. write user documentation.(3 points)
You need to write user documentation so that people will know how to play your game. Keep in mind the pointers discussed during the lecture on user documentation. This documentation should be no more than 5 pages. It must be complete -- so you need to be CLEAR and CONCISE. This portion must be turned in as hardcopy.
10. submit.(0.5 points)
You need to submit your program in two ways: electronically and hard copy. There is no partial credit here -- if you don't follow the submission instructions, you lose all the points for this section.
SEE INSTRUCTIONS posted here. Be sure to submit by 12NOON on MON DEC 9.
(1) Print out the homework template cover page and fill it out.
(2) Print out the timesheet and fill it out.
(3) STAPLE the cover page, timesheet and hardcopy of your documentation together.
(4) Make sure your name and CUNIX ID are on all the papers you hand in!
(5) Bring all this to my office on MON DEC 9, before 5pm. The Computer Science office gets locked at 5pm, so don't be late!!!