Skip to content

Jitterx69/TexasHoldemSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿƒ Texas Hold'em Poker Simulator

Texas Hold'em Poker React Native Expo TypeScript

A complete Texas Hold'em poker game built with React Native & Expo

๐Ÿ“ฑ Download APK โ€ข ๐ŸŒ Live Demo โ€ข ๐Ÿ“– Game Rules โ€ข ๐Ÿ› ๏ธ Tech Stack


๐ŸŽฏ Overview

Texas Hold'em Poker Simulator is a fully-featured, authentic Texas Hold'em poker game that brings the excitement of casino poker to your mobile device. Experience professional-grade poker mechanics with intuitive controls, beautiful UI, and comprehensive game rules.

โœจ Key Highlights

  • ๐Ÿƒ Authentic Poker Rules - Complete Texas Hold'em implementation
  • ๐ŸŽฎ Interactive Gameplay - Smooth betting rounds and card dealing
  • ๐Ÿ‘ฅ Multi-Player Support - 2-6 players per game
  • ๐Ÿ† Manual Winner Selection - Choose winners with pot splitting
  • ๐Ÿ“š Educational Content - Built-in poker hand rankings guide
  • ๐Ÿ“ฑ Cross-Platform - iOS, Android, and Web support
  • ๐ŸŽจ Beautiful UI - Modern design with dynamic layouts

๐Ÿš€ Features

๐ŸŽด Game Mechanics

  • Complete Card Dealing - Proper hole cards and community cards
  • Betting Rounds - Preflop, Flop, Turn, River with correct action order
  • Hand Evaluation - All poker hands from Royal Flush to High Card
  • Side Pots - Automatic handling of all-in situations
  • Blind Structure - Small blind and big blind rotation

๐ŸŽฎ User Experience

  • Intuitive Controls - Easy-to-use betting interface
  • Visual Feedback - Clear status indicators and action history
  • Responsive Design - Adapts to different screen sizes
  • Custom Navigation - Clean back arrows without default headers
  • Real-time Updates - Live pot, bet, and player status tracking

๐Ÿ† Advanced Features

  • Multiple Winner Selection - Split pots among multiple players
  • Auto Showdown - Automatic modal opening after river
  • Player Management - Custom names and chip counts
  • Round Tracking - Complete game statistics
  • Educational Mode - Poker hand rankings reference

๐Ÿ“‹ Game Rules

๐ŸŽฏ Objective

Texas Hold'em is a poker game where players compete for the pot by making the best possible five-card hand using any combination of their two hole cards and the five community cards.

๐Ÿƒ Card Dealing

  1. Pre-Flop: Each player receives 2 private hole cards
  2. Flop: 3 community cards are dealt face-up
  3. Turn: 1 additional community card (total 4)
  4. River: 1 final community card (total 5)

๐Ÿ’ฐ Betting Structure

  • Blinds: Mandatory bets posted before cards
  • Betting Rounds: Bet, Call, Raise, Fold, Check (when appropriate)
  • Raise Limits: Maximum 3 raises per betting round
  • All-In: Players can go all-in at any time

๐Ÿ† Hand Rankings (Highest to Lowest)

  1. Royal Flush ๐Ÿ‘‘ - A, K, Q, J, 10 of same suit
  2. Straight Flush ๐ŸŒŠ - Five consecutive cards, same suit
  3. Four of a Kind ๐Ÿ€ - Four cards of same rank
  4. Full House ๐Ÿ  - Three of a kind + pair
  5. Flush ๐Ÿ’ง - Five cards of same suit
  6. Straight โžก๏ธ - Five consecutive cards
  7. Three of a Kind โ˜˜๏ธ - Three cards of same rank
  8. Two Pair โœŒ๏ธ - Two different pairs
  9. One Pair ๐Ÿ‘ฏโ€โ™€๏ธ - Two cards of same rank
  10. High Card ๐Ÿฆ… - Highest single card

๐Ÿ› ๏ธ Tech Stack

Core Technologies

  • React Native 0.81.4 - Cross-platform mobile development
  • Expo SDK 54 - Development platform and build tools
  • TypeScript 5.9 - Type-safe JavaScript
  • React Navigation 7 - Navigation and routing

Key Dependencies

  • @react-navigation/native - Navigation framework
  • @react-navigation/stack - Stack navigation
  • @supabase/supabase-js - Backend services (future use)
  • expo-status-bar - Status bar customization

Development Tools

  • ESLint - Code linting and formatting
  • TypeScript Compiler - Type checking
  • Expo CLI - Development and build tools

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Expo CLI (npm install -g @expo/cli)

๐Ÿš€ Quick Start

  1. Clone the repository

    git clone https://github.com/VersionVex/TexasHoldemSimulator.git
    cd TexasHoldemSimulator
  2. Install dependencies

    npm install
  3. Start the development server

    npm start
  4. Run on your device

    • iOS: Press i in terminal or scan QR code with Camera app
    • Android: Press a in terminal or scan QR code with Expo Go
    • Web: Press w in terminal for web browser

๐Ÿ“ฑ Mobile Installation

For Testing (Expo Go)

  1. Install Expo Go from App Store / Google Play
  2. Scan the QR code shown in terminal after npm start

For Production Build

# Build for Android APK
npm run android

# Build for iOS
npm run ios

# Build for Web
npm run web

๐ŸŽฎ How to Play

๐Ÿ Getting Started

  1. Launch App โ†’ Welcome screen appears
  2. Tap "Start New Game" โ†’ Game setup screen
  3. Configure Game:
    • Number of players (2-6)
    • Player names
    • Starting chip stacks
    • Blind amounts

๐ŸŽฏ Gameplay Flow

  1. Pre-Flop โ†’ Blinds posted, hole cards dealt, betting begins
  2. Flop โ†’ 3 community cards revealed, betting round
  3. Turn โ†’ 4th community card, betting round
  4. River โ†’ 5th community card, final betting
  5. Showdown โ†’ Winner selection modal appears automatically

๐ŸŽฎ Controls

  • Fold โ†’ Surrender hand and current bet
  • Check โ†’ Pass action (when no bet to call)
  • Call โ†’ Match the current bet
  • Raise โ†’ Increase the bet amount
  • All-In โ†’ Bet entire chip stack

๐Ÿ† Winner Selection

  • After river betting completes, showdown modal opens
  • Select one or multiple winners using the dropdown
  • Pot splits equally among selected players
  • Tap "Award Pot" to complete the hand

๐Ÿ“ Project Structure

TexasHoldemSimulator/
โ”œโ”€โ”€ assets/                 # App icons and images
โ”‚   โ”œโ”€โ”€ icon.png
โ”‚   โ”œโ”€โ”€ splash-icon.png
โ”‚   โ””โ”€โ”€ adaptive-icon.png
โ”œโ”€โ”€ context/                # React Context for state management
โ”‚   โ””โ”€โ”€ GameContext.tsx
โ”œโ”€โ”€ engine/                 # Game logic and poker mechanics
โ”‚   โ”œโ”€โ”€ gameEngine.ts      # Core game logic
โ”‚   โ””โ”€โ”€ types.ts           # TypeScript interfaces
โ”œโ”€โ”€ screens/                # React Native screens
โ”‚   โ”œโ”€โ”€ HomeScreen.tsx     # Welcome screen
โ”‚   โ”œโ”€โ”€ SetupScreen.tsx    # Game configuration
โ”‚   โ”œโ”€โ”€ GameScreen.tsx     # Main poker table
โ”‚   โ””โ”€โ”€ ShowdownScreen.tsx # Winner selection & hand guide
โ”œโ”€โ”€ utils/                  # Utility functions
โ”‚   โ””โ”€โ”€ supabase.ts        # Backend integration (future)
โ”œโ”€โ”€ App.tsx                # Main app component
โ”œโ”€โ”€ app.json               # Expo configuration
โ”œโ”€โ”€ package.json           # Dependencies and scripts
โ””โ”€โ”€ tsconfig.json          # TypeScript configuration

๐Ÿ”ง Development

๐Ÿƒโ€โ™‚๏ธ Running in Development

# Install dependencies
npm install

# Start Expo development server
npm start

# Run on specific platform
npm run ios      # iOS Simulator
npm run android  # Android Emulator
npm run web      # Web browser

๐Ÿงช Testing

# Run tests (when implemented)
npm test

๐Ÿ“ Code Quality

# Lint code
npx eslint . --ext .ts,.tsx

# Type check
npx tsc --noEmit

๐Ÿš€ Building for Production

# Build for production
npx expo build:android  # Android APK
npx expo build:ios      # iOS IPA

๐ŸŽจ Screenshots

๐Ÿ“ฑ Mobile Interface

Home Screen Game Setup Poker Table
Home Setup Game

๐ŸŽฎ Game Features

Winner Selection Hand Rankings Betting Interface
Showdown Hands Betting

๐Ÿค Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“‹ Contribution Guidelines

  • Follow the existing code style
  • Add TypeScript types for new features
  • Test on multiple platforms (iOS, Android, Web)
  • Update documentation as needed

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Poker Rules Reference: Official Texas Hold'em specifications
  • UI Inspiration: Modern casino and poker app designs
  • React Native Community: Excellent documentation and support
  • Expo Team: Outstanding development platform

๐Ÿ“ž Support

If you have questions, issues, or suggestions:


Enjoy authentic Texas Hold'em poker on your mobile device! ๐Ÿƒ

Made with โค๏ธ by JitterX

โญ Star this repo โ€ข ๐Ÿด Fork it โ€ข ๐Ÿ“– Read the docs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •