Skip to content

IshmamR/terminal.pong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Ping Pong 🏓

A simple, fun ping pong game playable entirely in your terminal. Built with Rust and powered by ratatui for a beautifully responsive TUI (Text User Interface).

Currently, you can play against a basic AI opponent, a friend locally, or just watch AI vs AI in screensaver mode. It's fast, minimal, and runs right inside your terminal window.

Now with a customizable settings screen: choose your favorite color theme and set default difficulty for each mode!

🎥 Demo

Gameplay Demo
🖼️ Settings & Theme Preview (click to expand) Settings Screen

✨ Features

  • 🖥️ Single-player mode vs. computer (AI)
  • 👥 Local multiplayer (play with a friend on the same keyboard)
  • 🤖 Screensaver mode (AI vs AI, endless pong)
  • � Multiple color themes — pick your favorite in the settings
  • 🛠️ In-app settings: adjust default difficulty for each mode
  • �🎮 Real-time terminal-based gameplay
  • � Smooth and colorful UI using ratatui
  • 🚀 Written in Rust for performance and reliability because I wanted to

🧑‍💻 Getting Started

Requirements

  • Rust (latest stable recommended)
  • A terminal that supports ANSI escape codes

Installation

git clone https://github.com/yourusername/terminal-pingpong.git

Clone the repository and build:

git clone https://github.com/IshmamR/terminal.pong.git
cd terminal.pong
cargo run --release

Then play directly in your terminal!

🎯 Controls

  • Up Arrow / Mouse scroll up: Move paddle up
  • Down Arrow / Mouse scroll down: Move paddle down
  • Space: Power move (for pro players 😉)
  • Q: Quit

🛠 Tech Stack

  • Language: Rust
  • UI: ratatui
  • Rendering: Crossterm-based backend

🚧 Roadmap / Planned Features

  • 🎮 Local multiplayer support (same terminal)
  • 🧠 Computer difficulty levels (adjustable in settings)
  • 🌈 Screensaver mode — AI vs AI with endless pong
  • 🎨 Theme selection and live preview in settings
  • 💾 Save settings to SQLite database (persistent preferences)
  • 🌐 Network multiplayer (play with a friend remotely)
  • 🏆 High scores / stats

📜 License

MIT.


Made with ❤️ and Rust.

About

A ping pong game in your terminal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages