Creating a class that has orderable objects
When simulating card games, it's often essential to be able to sort the Card
objects into a defined order. When cards form a sequence, sometimes called a straight, this can be an important way to score the hand. This is part of games such as Poker, Cribbage, and even Pinochle.
Most of our class definitions have not included the features necessary for sorting objects into order. Many of the recipes have kept objects in mappings or sets based on the internal hash value computed by __hash__()
.
In order to keep items in a sorted collection, we'll need the comparison methods that implement <
, >
, <=
, >=
, ==
, and !=
. These comparisons are based on the attribute values of each object.
How do we create comparable objects?
Getting ready
The game of Pinochle generally involves a deck with 48 cards. There are six ranks—9, 10, Jack, Queen, King, and Ace. There are the standard four suits. Each of these 24 cards appears twice in the deck. We have to be...