implied = \ {'All Chows': ['No Honors'], 'All Even Pungs': ['No Honors', 'All Simples', 'All Pungs'], 'All Fives': ['No Honors'], 'All Green': [], 'All Honors': ['Pung of Terminals or Honors', 'All Pungs', 'Outside Hand'], 'All Pungs': [], 'All Simples': ['No Honors'], 'All Terminals': ['No Honors', 'Pung of Terminals or Honors', 'All Pungs', 'Outside Hand', 'Double Pung'], 'All Terminals and Honors': ['Pung of Terminals or Honors', 'All Pungs', 'Outside Hand'], 'All Types': ['Pung of Terminals or Honors'], 'Big Four Winds': ['Big Three Winds', 'Pung of Terminals or Honors', 'Seat Wind', 'Prevalent Wind', 'All Pungs'], 'Big Three Dragons': ['Dragon Pung', 'Pung of Terminals or Honors', 'Two Dragon Pungs'], 'Big Three Winds': ['Pung of Terminals or Honors'], 'Chicken Hand': [], 'Closed Wait': [], 'Concealed Hand': [], 'Concealed Kong': ['Melded Kong'], 'Double Pung': [], 'Dragon Pung': ['Pung of Terminals or Honors'], 'Edge Wait': [], 'Flower Tiles': [], 'Four Concealed Pungs': ['Two Concealed Pungs', 'Concealed Hand', 'All Pungs', 'Three Concealed Pungs'], 'Four Kongs': ['Three Kongs', 'Single Wait', 'Melded Kong', 'Two Melded Kongs', 'All Pungs'], 'Four Pure Shifted Chows': ['Short Straight', 'Pure Shifted Chows'], 'Four Pure Shifted Pungs': ['Pure Shifted Pungs', 'All Pungs'], 'Full Flush': ['No Honors'], 'Fully Concealed Hand': ['Self-draw', 'Concealed Hand'], 'Greater Honors and Knitted Tiles': ['All Types', 'Concealed Hand'], 'Half Flush': [], 'Knitted Straight': [], 'Last Tile': [], 'Last Tile Claim': [], 'Last Tile Draw': ['Self-draw'], 'Lesser Honors and Knitted Tiles': ['All Types', 'Concealed Hand'], 'Little Four Winds': ['Big Three Winds', 'Pung of Terminals or Honors'], 'Little Three Dragons': ['Dragon Pung', 'Pung of Terminals or Honors', 'Two Dragon Pungs'], 'Lower Four': ['No Honors'], 'Lower Tiles': ['No Honors', 'Lower Four'], 'Melded Hand': ['Single Wait'], 'Melded Kong': [], 'Middle Tiles': ['No Honors', 'All Simples'], 'Mixed Double Chow': [], 'Mixed Shifted Chows': [], 'Mixed Shifted Pungs': [], 'Mixed Straight': [], 'Mixed Triple Chows': ['Mixed Double Chow'], 'Nine Gates': ['No Honors', 'Pung of Terminals or Honors', 'Full Flush', 'Concealed Hand'], 'No Honors': [], 'One Voided Suit': [], 'Out With Replacement Tile': ['Melded Kong'], 'Outside Hand': [], 'Prevalent Wind': ['Pung of Terminals or Honors'], 'Pung of Terminals or Honors': [], 'Pure Double Chow': [], 'Pure Shifted Chows': [], 'Pure Shifted Pungs': [], 'Pure Straight': ['Short Straight', 'Two Terminal Chows'], 'Pure Terminal Chows': ['All Chows', 'No Honors', 'Pure Double Chow', 'Two Terminal Chows', 'Full Flush'], 'Pure Triple Chow': ['Pure Double Chow'], 'Quadruple Chow': ['Pure Double Chow', 'Tile Hog', 'Pure Triple Chow'], 'Reversible Tiles': ['One Voided Suit'], 'Robbing the Kong': [], 'Seat Wind': ['Pung of Terminals or Honors'], 'Self-draw': [], 'Seven Pairs': ['Concealed Hand'], 'Seven Shifted Pairs': ['No Honors', 'Seven Pairs', 'Full Flush', 'Concealed Hand'], 'Short Straight': [], 'Single Wait': [], 'Thirteen Orphans': ['All Types', 'All Terminals and Honors', 'Concealed Hand', 'Outside Hand', #'Single Wait' ], 'Three Concealed Pungs': ['Two Concealed Pungs'], 'Three Kongs': ['Melded Kong', 'Two Melded Kongs'], 'Three Suited Terminal Chows': ['All Chows', 'No Honors', 'Two Terminal Chows', 'Mixed Double Chow'], 'Tile Hog': [], 'Triple Pung': ['Double Pung'], 'Two Concealed Kongs': ['Two Concealed Pungs', 'Melded Kong', 'Two Melded Kongs', 'Concealed Kong'], 'Two Concealed Pungs': [], 'Two Dragon Pungs': ['Dragon Pung', 'Pung of Terminals or Honors'], 'Two Melded Kongs': ['Melded Kong'], 'Two Terminal Chows': [], 'Upper Four': ['No Honors'], 'Upper Tiles': ['No Honors', 'Upper Four']} def get_implied_map(): """ >>> get_implied_map()['Nine Gates'] ['No Honors', 'Pung of Terminals or Honors', 'Full Flush', 'Concealed Hand '] """ global implied return implied def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test()