rlcard.games.uno¶
rlcard.games.uno.dealer¶
- class rlcard.games.uno.dealer.UnoDealer(np_random)¶
- Bases: - object- Initialize a uno dealer class - deal_cards(player, num)¶
- Deal some cards from deck to one player - Parameters:
- player (object) – The object of DoudizhuPlayer 
- num (int) – The number of cards to be dealed 
 
 
 - flip_top_card()¶
- Flip top card when a new game starts - Returns:
- The object of UnoCard at the top of the deck 
- Return type:
- (object) 
 
 - shuffle()¶
- Shuffle the deck 
 
rlcard.games.uno.game¶
- class rlcard.games.uno.game.UnoGame(allow_step_back=False, num_players=2)¶
- Bases: - object- configure(game_config)¶
- Specifiy some game specific parameters, such as number of players 
 - get_legal_actions()¶
- Return the legal actions for current player - Returns:
- A list of legal actions 
- Return type:
- (list) 
 
 - static get_num_actions()¶
- Return the number of applicable actions - Returns:
- The number of actions. There are 61 actions 
- Return type:
- (int) 
 
 - get_num_players()¶
- Return the number of players in Limit Texas Hold’em - Returns:
- The number of players in the game 
- Return type:
- (int) 
 
 - get_payoffs()¶
- Return the payoffs of the game - Returns:
- Each entry corresponds to the payoff of one player 
- Return type:
- (list) 
 
 - get_player_id()¶
- Return the current player’s id - Returns:
- current player’s id 
- Return type:
- (int) 
 
 - get_state(player_id)¶
- Return player’s state - Parameters:
- player_id (int) – player id 
- Returns:
- The state of the player 
- Return type:
- (dict) 
 
 - init_game()¶
- Initialize players and state - Returns:
- Tuple containing: - (dict): The first state in one game (int): Current player’s id 
- Return type:
- (tuple) 
 
 - is_over()¶
- Check if the game is over - Returns:
- True if the game is over 
- Return type:
- (boolean) 
 
 - step(action)¶
- Get the next state - Parameters:
- action (str) – A specific action 
- Returns:
- Tuple containing: - (dict): next player’s state (int): next plater’s id 
- Return type:
- (tuple) 
 
 - step_back()¶
- Return to the previous state of the game - Returns:
- True if the game steps back successfully 
- Return type:
- (bool) 
 
 
rlcard.games.uno.judger¶
rlcard.games.uno.player¶
rlcard.games.uno.round¶
- class rlcard.games.uno.round.UnoRound(dealer, num_players, np_random)¶
- Bases: - object- flip_top_card()¶
- Flip the top card of the card pile - Returns:
- the top card in game 
- Return type:
- (object of UnoCard) 
 
 - get_legal_actions(players, player_id)¶
 - get_state(players, player_id)¶
- Get player’s state - Parameters:
- players (list) – The list of UnoPlayer 
- player_id (int) – The id of the player 
 
 
 - perform_top_card(players, top_card)¶
- Perform the top card - Parameters:
- players (list) – list of UnoPlayer objects 
- top_card (object) – object of UnoCard 
 
 
 - proceed_round(players, action)¶
- Call other Classes’ functions to keep one round running - Parameters:
- player (object) – object of UnoPlayer 
- action (str) – string of legal action 
 
 
 - replace_deck()¶
- Add cards have been played to deck 
 
rlcard.games.uno.card¶
- class rlcard.games.uno.card.UnoCard(card_type, color, trait)¶
- Bases: - object- get_str()¶
- Get the string representation of card - Returns:
- The string of card’s color and trait 
- Return type:
- (str) 
 
 - info = {'color': ['r', 'g', 'b', 'y'], 'trait': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'skip', 'reverse', 'draw_2', 'wild', 'wild_draw_4'], 'type': ['number', 'action', 'wild']}¶
 - static print_cards(cards, wild_color=False)¶
- Print out card in a nice form - Parameters:
- card (str or list) – The string form or a list of a UNO card 
- wild_color (boolean) – True if assign collor to wild cards 
 
 
 
rlcard.games.uno.utils¶
- rlcard.games.uno.utils.cards2list(cards)¶
- Get the corresponding string representation of cards - Parameters:
- cards (list) – list of UnoCards objects 
- Returns:
- string representation of cards 
- Return type:
- (string) 
 
- rlcard.games.uno.utils.encode_hand(plane, hand)¶
- Encode hand and represerve it into plane - Parameters:
- plane (array) – 3*4*15 numpy array 
- hand (list) – list of string of hand’s card 
 
- Returns:
- 3*4*15 numpy array 
- Return type:
- (array) 
 
- rlcard.games.uno.utils.encode_target(plane, target)¶
- Encode target and represerve it into plane - Parameters:
- plane (array) – 1*4*15 numpy array 
- target (str) – string of target card 
 
- Returns:
- 1*4*15 numpy array 
- Return type:
- (array) 
 
- rlcard.games.uno.utils.hand2dict(hand)¶
- Get the corresponding dict representation of hand - Parameters:
- hand (list) – list of string of hand’s card 
- Returns:
- dict of hand 
- Return type:
- (dict) 
 
- rlcard.games.uno.utils.init_deck()¶
- Generate uno deck of 108 cards