1 / 11

Introduction to Card Game Programming - Exercise Session 9

Join Prof. Dr. Bertrand Meyer in today's exercise session to practice implementing contracts for a card game. Learn to create cards with colors and values, manage a deck of 36 cards in red, white, green, and blue, and perform essential deck operations.

gauri
Télécharger la présentation

Introduction to Card Game Programming - Exercise Session 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in die ProgrammierungIntroduction to ProgrammingProf. Dr. Bertrand Meyer Exercise Session 9

  2. Today • Feedback on the mock exam • Exercise: practicing contracts

  3. Specification of a card game • A deck is initially made of 36 cards • Every card in the deck represents a value in the range 2..10 • Every card also represents 1 out of 4 possible colors • The colors represented in the game cards are: • red (‘R’), white (‘W’), green (‘G’) and blue (‘B’) • As long as there are cards in the deck, the players can look at the top card and remove it from the deck

  4. Class CARD create make Hands-On make (a_color: CHARACTER, a_value: INTEGER) -- Create a card given a color and a value. require ... ensure ... color: CHARACTER -- The card color. value: INTEGER -- The card value.

  5. Class CARD: which colors are valid? Hands-On is_valid_color (a_color: CHARACTER): BOOLEAN -- Is `a_color’ a valid color? require ... ensure ...

  6. Class CARD: which ranges are valid? Hands-On is_valid_range (n: INTEGER): BOOLEAN -- Is `n’ in the acceptable range? require ... ensure ... invariant ...

  7. Class CARD create make: reloaded Hands-On make (a_color: CHARACTER, a_value: INTEGER) -- Create a card given a color and a value. require ... ensure ... color: CHARACTER -- The card color. value: INTEGER -- The card value.

  8. Class DECK create make Hands-On make -- Create a deck with random cards. require ... ensure ... feature{NONE} – Implementation card_list: LINKED_LIST -- Deck as a linked list of cards.

  9. Class DECK queries top_card: CARD -- The deck’s top card. is_empty: BOOLEAN -- Is Current deck empty? do … end count: INTEGER -- Number of remaining cards in the deck. do … end Hands-On

  10. Removing the top card from DECK Hands-On remove_top_card -- Remove the top card from the deck. require ... ensure ...

  11. The class invariant Hands-On invariant ...

More Related