Unformatted text preview:

MA471 Fall 2003On With The GamesContinue Play and Game AnalysisDesigning The CodeThe Objects AnalysisDefining cardDefining handDefining packGroup ExerciseSlide 10Slide 11Slide 12DeadlineMA471 Fall 2003Lecture 2On With The Games•Today we are going to watch each group play a couple of rounds of cards.•We will go through the game slowly making comments and taking notes on the way.•In the computing lab we will start implementing the games in a C version..Continue Play and Game AnalysisDesigning The Code•Before we write a line of computer code, weshould figure out what kind of structures (orclasses) we are going to use.•This requires us to think about what objectsare getting passed between players?•Also, what do we do with these objects?See: http://www.accu.org/acornsig/public/articles/oop_c.htmlThe Objects Analysis•To play cards we need:– a deck of playing cards.– a set of cards– a method of determining the suit and value of each card– each player has a hand of cards•We should build the following enums (identifiers)–suit–value•We should build the following structs:–deck –hand–cardDefining card•Let’s not go over board on the descriptor for card•A card has a value and a suit attached to it,e.g. the 7 of hearts •We should be able to create and destroy a card•We should be able to identify the suit and value of a cardDefining handWe should be able to:– determine the number of cards in the hand– determine the suit and value of any given card in the hand– create and destroy the hand – add and remove cards from the handDefining packWe should be able to:– determine the number of cards left in the pack– determine the suit and value of the next card in the pack– create and destroy pack – add and remove cards from the pack– shuffle (randomize the order the cards the pack are stored in)Group Exercise•Using the online code as a base (if you choose) you are going to create a card playing game. •No strategy is required for choosing whichcard to play.•Use a random number generator to decide which card from your hand to play at each round•If there is a constraint on which card you can play based on what is visible keep generating random numbers until you can play the chosen cardGroup Exercise•Appoint a group leader for this exercise•Decide who is going to implement what•Design the objects (structs) so that they will besufficiently flexible for your purposes•Make sure each group member has a full description of objects and interfaces (appointing an object guru may help).•Each member may wish to work in separate files as much as possible (e.g. card.c hand.c ….)Group Exercise•Once you have built your objects proceed to implement the game.•In essence the game can be described as an object •Decide what needs to be stored in the game object and what actions it needs to be able to permit..Group Exercise•Once the game is completely assembled start testing to see any problems at compile time.•Debug the game by running it for one hand and output every action•Test everything you possibly can – for now use print statements to follow the code…Deadline• The code should be finished by Monday 3rd September for the class.• Use email and/or set up a web bulletin board to communicate between group members.• Write a group report – including a section describing who did


View Full Document

Rice CAAM 471 - Lecture Notes

Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?