Teaching
670 S '07
 
Projects
Presentations
Programming
 
Squadron Scramble
Aircrafts
Project 1
Project 2
Project 3
Project 4
Project 5
Project 6
Project 7
Project 8
Project 9
Project 10
Project 11
Project 12
Project 13

Project 3

Due date: 1/26 : NOON

Representing Basic Data

The first task is always to design a data representation for the basic pieces of information. To do so, you study the use cases and develop interfaces for these first. If the problem is complex, you may wish to use role-playing to check whether implementations of the interfaces suffice. My own inclination is to prepare interfaces and classes for modifications later and to modify them as needed.

Task 1: [POINTS: 4] The representation of cards suggests the following hierarchy of data and functions:



                       +-----------------+                
                       | Card            |
                       +-----------------+                
                       | Image file_name |  
                       +-----------------+                
                                |                   
                               / \                  
                               ---                  
                                |                   
                    ---------------------           
                    |                   |           
               +----------+    +-----------------+  
               | WildCard |    | Aircraft        |  
               +----------+    +-----------------+  
               +----------+    | String name     |  
                     |         | Alliance a      |  
                    / \        | Category forb   |  
                    ---        +-----------------+  
                     |         +-----------------+  
         ---------------------           
         |                   |           
  +--------------+     +--------------+
  | Victory      |     | Keepem       |
  +--------------+     +--------------+
  +--------------+     | int index    |
  +--------------+     +--------------+
                       +--------------+


Use classes or modules (or some other grouping mechanism in your chosen language) to represent this form of data.

You may wish to consider adding the following functions: card-value, card-<, cards-have-same-name. [POINT 1]

Task 2: [POINTS: 4] Your second task is to write up three use cases:

  1. "Players register with administrator"
  2. "Player takes turn"
  3. "Administrator plays a complete game"
Note that the third case uses the second one.

Task 3: [POINTS: 3] One goal of writing up use cases (or "stories") is to find out whether some (possibly important) piece of information is missing. Often you meet your customer only for scheduled meetings and to prepare these meetings you write down questions. Your task is to formulate three questions concerning Squadron Scramble. The questions must be about the game per se, not its implementation, because you are still working out the problem (not its solution).


last updated on Tue Jun 9 22:03:19 EDT 2009generated with PLT Scheme