mjAi/src/engine/mahjong_tile.py

22 lines
565 B
Python

class MahjongTile:
SUITS = ['', '', '']
def __init__(self, suit, value):
if suit not in self.SUITS or not (1 <= value <= 9):
raise ValueError("Invalid tile")
self.suit = suit
self.value = value
self.index = ({"": 0, "": 1, "": 2}[suit]) * 9 + (value - 1)
def __repr__(self):
return f"{self.value}{self.suit}"
def __eq__(self, other):
return self.suit == other.suit and self.value == other.value
def __hash__(self):
return hash((self.suit, self.value))