Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.14 KB | None | 0 0
  1. class Card:
  2.     def __init__(self, suit, value):
  3.         value = str(value)
  4.         self.rank_names = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"]
  5.         self.st = suit[0].upper() + suit[1:]
  6.         self.val = value[0].upper() + value[1:]
  7.  
  8.     def suit(self):
  9.         return self.st
  10.  
  11.     def short_suit(self):
  12.         return self.st[0]
  13.    
  14.     def nice_suit(self):
  15.         return {"Spades" : chr(0x2660), "Clubs" : chr(0x2663), "Hearts" : chr(0x2665), "Diamonds" : chr(0x2666) } [self.st]
  16.  
  17.     def value(self):
  18.         return self.val
  19.  
  20.     def shor_value(self):
  21.         return self.val[0]
  22.    
  23.     def __str__(self):
  24.         return self.nice_suit() + " " + self.shor_value()
  25.  
  26.     def __next__(self):
  27.         self.val = self.rank_names[(self.rank_names.index(self.val) + 1) % 13]
  28.         return self.val
  29.  
  30.     def __eq__(self, other):
  31.         return self.st == other.st and self.val == other.val
  32.    
  33.     def __ne__(self, other):
  34.         return not(self == other)
  35.  
  36.     def __gt__(self, other):
  37.         if self.rank_names.index(self.val) == other.rank_names.index(other.val):
  38.             return False
  39.         elif (self.val == "2") and (other.val == "Ace"):
  40.             return True
  41.         elif self.val == "Ace" and other.val == "2":
  42.             return False
  43.         elif self.val == "Ace":
  44.             return True
  45.         elif self.rank_names.index(self.val) > other.rank_names.index(other.val):
  46.             return True
  47.         elif self.rank_names.index(self.val) < other.rank_names.index(other.val):
  48.             return False
  49.  
  50.     def __lt__(self, other):
  51.         if self.rank_names.index(self.val) == other.rank_names.index(other.val):
  52.             return False
  53.         elif (self.val == "2") and (other.val == "Ace"):
  54.             return False
  55.         elif self.val == "Ace" and other.val == "2":
  56.             return True
  57.         elif self.val == "Ace":
  58.             return False
  59.         elif self.rank_names.index(self.val) > other.rank_names.index(other.val):
  60.             return False
  61.         elif self.rank_names.index(self.val) < other.rank_names.index(other.val):
  62.             return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement