Skip to content

The world-famous 8-Ball Pool brought to you by hbarquanta.

License

Notifications You must be signed in to change notification settings

hbarquanta/8-Ball-Pool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎱 8-Ball Pool Game

Welcome to the 8-Ball Pool Game! This is a Python-based simulation of the classic 8-ball pool game, complete with realistic physics, smooth gameplay, and an attractive user interface. Whether you're a seasoned player or just looking for some fun, this game provides an engaging experience.

📖 Table of Contents

🌟 Features

  • Realistic Physics: The game implements realistic ball collisions and movements to simulate the experience of playing on a real pool table.
  • Textured Table and Balls: The game features a visually appealing pool table and ball textures, enhancing the game's overall aesthetics.
  • Smooth Gameplay: Responsive controls and intuitive gameplay mechanics.
  • Player Indication: The game clearly indicates whose turn it is and displays the type of balls (solid or stripes) assigned to each player.
  • Foul Detection: The game detects and displays fouls according to standard 8-ball pool rules.

📸 Screenshots

screenshot1 screenshot2 screenshot3 screenshot4

🛠️ Installation

To run this game locally, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/hbarquanta/8-Ball-Pool-Game.git
  2. Navigate to the Project Directory:

    cd 8-Ball-Pool-Game
  3. Install the Dependencies:

    • Make sure you have Python installed.
    • Install required libraries using pip:
      pip install pygame numpy
  4. Run the Game:

    python main.py

🎮 How to Play

  • Objective: The goal is to pocket all of your assigned balls (solids or stripes) and then legally pocket the 8-ball.
  • Controls:
    • Use your mouse to aim the cue.
    • Adjust the power of your shot using the power slider.
    • Click "Shoot" to take your shot.

🕹️ Game Rules

  • Player 1 always starts.
  • Players must first pocket all of their assigned balls (solids or stripes) before attempting to pocket the 8-ball.
  • Turn Switching:
    • A player continues to play as long as they legally pocket one of their assigned balls.
    • If a player fails to pocket a ball or commits a foul, their turn ends.
  • Fouls:
    • Pocketing the cue ball.
    • Pocketing an opponent's ball.
    • Failing to hit any balls with the cue ball.
  • The game ends when the 8-ball is legally pocketed by the player who has pocketed all their assigned balls.

📜 License

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

🤝 Contributing

Contributions are welcome! Please fork this repository, create a new branch, and submit a pull request. Please ensure your code follows the project's coding standards.

About

The world-famous 8-Ball Pool brought to you by hbarquanta.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages