670 S '07
Squadron Scramble
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 11

Due date: 3/30 : NOON

Implement the Game Administrator, Groom Good Players

The goal of this Project is to of the game administrator so that you can conduct Squadron Scramble tournaments. For projects 9 and 10 you have implemented some essential building blocks. So the purpose of this project is really just to finish what you have started.

Initially you should use two to six instances of your Project 6 player for the tournaments. Once you can run tournaments you can use the framework to develop and implement alternative player strategies. (We may run a class-wide tournament with the best player from each team.)

Task 1: [POINTS: 30] Implement the game administrator. It must conduct complete games according to the rules of Squadron Scramble. That is, it must run battles until (at least) one player has more than 250 points. For each battle, the administrator creates a new deck, shuffles it, hands out first hands to all registered players, creates a one-card stack, and finally starts the battle. At the end of a battle, it scores all players and adds/subtracts the points of the battle to the point total for each player.

You are free to design the game administrator and its interface. You must ensure, however, that it can deal with an arbitrary number of players. These players can register with the administrator when it is created or afterwards.

The task includes the addition of a callback protocol that informs players of the loss of a discarded bomber squadron. That is, when player 1 performs an attack with a fighter squadron on some bomber squadron of player 2, the administrator must inform player 2 of this attack. The new player method has this signature:

   player-inform       : player/c discard-bomber/c -> any
   ;; inform player that the squadron was shot down 

Make sure that your administrator deals with failing and cheating players in an appropriate manner. That is, if a player diverges, crashes, violates the contracts of a turn, cheats, your administrator must ignore the turn and throw the player out of the game.

Task 2: [POINTS: 15] Your second task is to design and implement alternative strategies for playing the game. Think of at least three different strategies and implement them in players. Then run some games to find out which of the strategies performs best.

Task 3: [POINTS: 5] Describe the best strategy in a short, two-paragraph memo (at most 400 words).

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