Expand description
§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) eCard. - Ordenação: Implementação de
OrdePartialOrdpara comparação direta de força entre cartas.
§🚀 Instalação
Adicione ao seu Cargo.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:
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:
[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ê configurouGostaria que eu fizesse alguma alteração específica na descrição ou nos exemplos?