During this activity, students should be able to:
This activity helps the student develop the following skills, values and attitudes: ability to analyze and synthesize, capacity for identifying and solving problems, and efficient use of computer systems.
This activity must be solved individually or in pairs.
Using the C# programming language and its remoting API, write distributed server and client programs that allow you to play a text mode version of the Crazy Eights game with the following rules:
(Adapted from: USPC - The Stops Family)
Number of players: 2 to 4.
The Pack: Standard 52-card. (4 suits: spades ♠, hearts ♥, diamonds ♦, and clubs ♣; 13 denominations: A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, and K).
The Deal: The cards should be shuffled first. Afterwards, each player receives five cards. The rest of the pack is placed face down in the center of the table and forms the stock. The dealer turns up the top card of the stock and places it in a separate pile; this card is the starter. If an eight is turned, it is returned to the bottom of the stock and the next card is turned.
Object of the Game: The goal is to be the first player to get rid of all the cards in his hand.
The Play: Beginning with the player who got connected first, each participant in turn must place one card face up on the starter pile. If unable to play, the participant must draw cards from the top of the stock until he can play, or until the stock is exhausted. If unable to play when the stock is exhausted, the player must pass. A player may draw from the stock if he wishes, even if he can play a card in his hand.
Each card played (other than an eight) must match the card showing on the starter pile, either in suit or in denomination. Thus, if the ♣Q is the starter, any club (♣) may be played on it or any queen (Q). All eights are wild! That is, an eight may be played at any time in turn, and the player need only specify a suit for it (but never a number). The next player must play either a card of the specified suit or an eight.
Winning: The player who is the first to have no cards left wins the game.
Place all the project source files in a ZIP file called
crazy.zip
and deliver it using the
Online Assignment
Delivery System (SETA). No assignments will be
accepted through e-mail or any other means.
IMPORTANT: All the program source files must include at the top the authors' personal information (name and student id) within comments. For example:
/* ITESM CEM, May 8, 2009. * C# Source File * Activity: Crazy Eights * Author: Steve Rogers, 449999 */ . . (The rest of the program goes here) .
Due date: Friday, May 8. The program will be assesed during class on that same date.
This activity will be evaluated using the following criteria:
-10 | The program doesn't contain within comments the authors' personal information. |
---|---|
10 | The program contains syntax errors. |
DA | The program was plagiarized. |
20-50 | The program doesn't work, but it seams that some significant amount of time was spent in it. |
60-90 | The program works, but has some flaws. |
100 | The program works as requested. |