You are here:   ArielOrtiz.com > Software Design and Architecture > Final Project: Crazy Eights

Final Project: Crazy Eights

Objectives

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.

Activity Description

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:

Game Rules: Crazy Eights

(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.

Deliverables

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.

Evaluation

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.
© 1996-2009 by Ariel Ortiz (ariel.ortiz@itesm.mx)
Made with Django | Licensed under Creative Commons | Valid XHTML | Valid CSS