A stunning terminal-based blackjack game with rich colors, animations, and casino-quality experience
๐ฎ Quick Start โข ๐ฏ Features โข ๐ธ Screenshots โข ๐ Documentation
TermiJack brings the excitement of Las Vegas blackjack right to your terminal! Experience the thrill of 21 with beautiful ASCII art cards, smooth animations, and an intuitive interface that makes you feel like you're sitting at a real casino table.
|
|
- Get the right executable for your OS from the Releases page.
- No Python or dependencies needed. Just run it!
Python 3.8+-
Clone the Repository
git clone https://github.com/SajagIN/termijack.git cd termijack -
Install Dependencies
pip install rich
-
Start Playing!
python main.py
git clone https://github.com/SajagIN/termijack.git && cd termijack && pip install rich && python main.py๐ Game Controls
- Enter any amount between $1 and your current chips
- Quick shortcuts:
min- Bet $1 (minimum)max- Go all-in with everythinghalf- Bet half your chipshelp- Show detailed betting help
Horhit- Take another cardSorstand- Keep your current handhelp- Show game rules and strategy tips
Porplay- Start another roundQorquit- Leave the casinoCtrl+C- Emergency exit anytime
๐ฒ Blackjack Rules
Get as close to 21 as possible without going over, while beating the dealer's hand.
- Number cards (2-10): Face value
- Face cards (J, Q, K): Worth 10 points each
- Aces: Worth 11 or 1 (automatically optimized)
- ๐ Blackjack - 21 with exactly 2 cards (pays 2.5x)
- โ Regular Win - Beat dealer without busting (pays 2x)
- ๐ค Push - Tie with dealer (get your bet back)
- โ Bust - Go over 21 (lose your bet)
- Must hit on 16 or less
- Must stand on 17 or more
- No strategic decisions (house rules)
TermiJack is built with a clean, modular architecture that separates concerns beautifully:
๐ฆ TermiJack/
โโโ ๐ main.py # Game entry point
โโโ ๐ง ui.py # UI compatibility layer
โโโ ๐ cards.py # Card and deck logic
โโโ ๐ฒ game.py # Blackjack game engine
โโโ ๐ ui/ # User interface package
โโโ ๐ญ main_ui.py # Main UI controller
โโโ ๐จ card_renderer.py # ASCII card graphics
โโโ ๐ layout_manager.py # Screen layout system
โโโ โจ๏ธ input_handler.py # Input processing
โโโ ๐ info_panels.py # Information displays
โโโ โจ animations.py # Visual effects
โโโ ๐ __init__.py # Package setup
- Language: Python 3.8+
- UI Framework: Rich (Advanced terminal formatting)
# Test basic functionality
python -c "from ui import UI; from game import Game; print('โ
All systems operational!')"
# Test card rendering
python -c "from cards import Deck; d = Deck(); print('โ
Deck created with', len(d.cards), 'cards')"- ๐ WORKING.md - Complete technical documentation (2,500+ words)
- ๐ฏ Game Rules - Built-in help system
- ๐๏ธ Architecture - System design overview
- ๐ง API Reference - Detailed component documentation
| Platform | Terminal | Unicode | Colors | Status |
|---|---|---|---|---|
| ๐ช Windows | PowerShell 7+ / Windows Terminal | โ | โ | ๐ข Full Support |
| ๐ช Windows | Command Prompt | โ | ๐ก Limited Unicode | |
| ๐ macOS | Terminal.app / iTerm2 | โ | โ | ๐ข Full Support |
| ๐ง Linux | Most terminals | โ | โ | ๐ข Full Support |
TermiJack currently doesn't support customization through TUI.
๐จ Change Card Colors
Edit ui/card_renderer.py:
# Change Hearts to pink instead of red
if suit_name == "Hearts":
border_color = "bright_magenta" # Changed from bright_red
text_color = "bright_magenta"๐ฐ Modify Starting Money
Edit game.py:
class Player(Hand):
def __init__(self, starting_cash: int = 2000): # Changed from 1000โก Adjust Animation Speed
Edit ui/animations.py:
def show_dealing_animation(self):
# ...
time.sleep(0.5) # Faster - changed from 1.2This project is licensed under the MIT License
MIT License - Feel free to use, modify, and distribute!
Perfect for learning, teaching, or just having fun. ๐ฒ
โญ Star this repo if you enjoyed TermiJack!