texas_rust_em 0.1.0

Uma biblioteca para gerenciar baralhos e cartas de texas hold'em em Rust., definindo tipos e métodos que auxiliam no uso para o jogo
Documentation

---

# Texas Rust'em 🃏

**Texas Rust'em** é uma biblioteca leve e idiomática em Rust para gerenciamento de cartas, baralhos e jogadores, projetada especificamente para lógica de poker Texas Hold'em.

A biblioteca utiliza caracteres Unicode reais para renderizar as cartas no terminal, proporcionando uma experiência visual rica durante o desenvolvimento e execução de jogos CLI.

## ✨ Funcionalidades

* **Representação Visual:** Cartas renderizadas com símbolos Unicode (ex: 🂡, 🂮).
* **Gerenciamento de Baralho:** Criação de baralho padrão de 52 cartas, embaralhamento e remoção segura (pop).
* **Entidades de Poker:** Tipos integrados para `Player`, `Blinder` (Dealer, Small Blind, Big Blind) e `Card`.
* **Ordenação:** Implementação de `Ord` e `PartialOrd` para comparação direta de força entre cartas.

## 🚀 Instalação

Adicione ao seu `Cargo.toml`:

```toml
[dependencies]
texas_rust_em = "0.1.0"
rand = "0.9" # Necessário para embaralhar
```

## 🛠️ Como usar

Aqui está um exemplo rápido de como criar um baralho, embaralhá-lo e distribuir cartas para um jogador:

```rust
use texas_rust_em::texas_rust_em::{Card, Deck, Player, Blinder};

fn main() -> Result<(), texas_rust_em::texas_rust_em::DeckError> {
    // 1. Criar e inicializar um baralho padrão
    let mut baralho = Card::deck();
    
    // 2. Embaralhar
    Card::suffle(&mut baralho);
    
    // 3. Criar um jogador (ex: Dealer)
    let mut jogador = Player::new(Blinder::Dealer);
    
    // 4. Distribuir a mão (2 cartas)
    jogador.get_hand(&mut baralho)?;
    
    // 5. Exibir resultados
    println!("Baralho restante: {}", baralho);
    println!("Jogador: {}", jogador);

    Ok(())
}
```

## 🎴 Representação de Cartas

A biblioteca mapeia as cartas para o bloco de símbolos de cartas do Unicode (`U+1F0A0` a `U+1F0DF`). Ao imprimir uma carta ou o baralho, você verá os símbolos reais, facilitando o debug visual.

## ⚖️ Licença

Distribuído sob as licenças MIT ou Apache-2.0. Veja os arquivos `LICENSE-MIT` e `LICENSE-APACHE` para mais detalhes.

---

### Dicas para o seu `Cargo.toml` antes de publicar:

Como seu código usa a crate `rand`, certifique-se de que as dependências estão assim no arquivo oficial:

```toml
[package]
name = "texas_rust_em"
version = "0.1.0"
edition = "2021"
description = "A Texas Hold'em poker engine with Unicode card support"
license = "MIT OR Apache-2.0"
repository = "https://github.com/seu-usuario/texas_rust_em"
keywords = ["poker", "cards", "game", "texas-holdem"]
categories = ["games"]

[dependencies]
rand = "0.9" # Ou a versão que você configurou
```

**Gostaria que eu fizesse alguma alteração específica na descrição ou nos exemplos?**