# Dynamic Pong
Dynamic Pong is a modern rendition of the classic arcade game Pong, crafted with Python using the Pygame library. It offers an engaging and interactive gaming experience, featuring responsive paddle controls and dynamic game speed adjustments. This project is an excellent showcase of Python programming skills, game design, and software development principles.
## Features
- **Adaptive Gameplay**: The game's difficulty increases as you progress, offering a challenging and engaging experience.
- **Collision Detection**: Implements collision logic for paddles and game boundaries.
- **Score Tracking**: Real-time score display for both the player and the computer-controlled opponent.
- **Customizability**: Adjustable game window size and element proportions to fit various screens.
## Installation
To play Dynamic Pong, you need to have Python and Pygame installed on your system.
1. **Install Python**: Download and install Python from [python.org](https://www.python.org/downloads/).
2. **Install Pygame**: Run `pip install pygame` in your command line.
3. **Download the Game**: Clone or download this repository to your local machine.
## How to Play
1. Navigate to the directory containing the game files.
2. Run the script `python dynamic_pong.py`.
3. Control the left paddle using the `Up` and `Down` arrow keys or the `W` and `S` keys.
4. The game continues indefinitely until manually exited.
## Code Examples
```python
# Creating a block representing a paddle
block = Block("white", 20, 100, 50, 300)
```
```python
# Initializing a player paddle
player = Player("white", 20, 140, 5)
```
```python
# Handling a ball collision with the top edge of the screen
ball = Ball("white", 30, 30, paddle_group)
ball.rect.top = -5
ball.speed_y = -5
ball.collisions()
```
## Contributing
Contributions to Dynamic Pong are welcome! If you have suggestions for improvements or encounter any issues, please feel free to open an issue or submit a pull request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## About the Author
Adamya Singh - Aspiring software developer with a passion for game development and Python programming. Feel free to connect with me on [LinkedIn](https://www.linkedin.com/in/adamya-singh-0a8746184/).
Raw data
{
"_id": null,
"home_page": "",
"name": "dynamic-pong",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,pong,game,dynamic,resume project,pygame",
"author": "Adamya Singh",
"author_email": "<7adamyasingh@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a3/68/f2a8086408e79ff4eae77232b225814462ab430ebd6df01958a1cc073345/dynamic_pong-1.0.3.tar.gz",
"platform": null,
"description": "\n# Dynamic Pong\n\nDynamic Pong is a modern rendition of the classic arcade game Pong, crafted with Python using the Pygame library. It offers an engaging and interactive gaming experience, featuring responsive paddle controls and dynamic game speed adjustments. This project is an excellent showcase of Python programming skills, game design, and software development principles.\n\n## Features\n\n- **Adaptive Gameplay**: The game's difficulty increases as you progress, offering a challenging and engaging experience.\n- **Collision Detection**: Implements collision logic for paddles and game boundaries.\n- **Score Tracking**: Real-time score display for both the player and the computer-controlled opponent.\n- **Customizability**: Adjustable game window size and element proportions to fit various screens.\n\n## Installation\n\nTo play Dynamic Pong, you need to have Python and Pygame installed on your system.\n\n1. **Install Python**: Download and install Python from [python.org](https://www.python.org/downloads/).\n2. **Install Pygame**: Run `pip install pygame` in your command line.\n3. **Download the Game**: Clone or download this repository to your local machine.\n\n## How to Play\n\n1. Navigate to the directory containing the game files.\n2. Run the script `python dynamic_pong.py`.\n3. Control the left paddle using the `Up` and `Down` arrow keys or the `W` and `S` keys.\n4. The game continues indefinitely until manually exited.\n\n## Code Examples\n\n```python\n# Creating a block representing a paddle\nblock = Block(\"white\", 20, 100, 50, 300)\n```\n\n```python\n# Initializing a player paddle\nplayer = Player(\"white\", 20, 140, 5)\n```\n\n```python\n# Handling a ball collision with the top edge of the screen\nball = Ball(\"white\", 30, 30, paddle_group)\nball.rect.top = -5\nball.speed_y = -5\nball.collisions()\n```\n\n## Contributing\n\nContributions to Dynamic Pong are welcome! If you have suggestions for improvements or encounter any issues, please feel free to open an issue or submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## About the Author\n\nAdamya Singh - Aspiring software developer with a passion for game development and Python programming. Feel free to connect with me on [LinkedIn](https://www.linkedin.com/in/adamya-singh-0a8746184/).\n",
"bugtrack_url": null,
"license": "",
"summary": "Dynamic Pong: A Python-based modern twist on classic Pong",
"version": "1.0.3",
"project_urls": null,
"split_keywords": [
"python",
"pong",
"game",
"dynamic",
"resume project",
"pygame"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "987ad790d70546f46015d828d1614fbade7b79fb653946f34a4daf2dbfce04df",
"md5": "b814d45872b4f6bc0fe5116b76dba679",
"sha256": "80582e557e226d56e25914622bd7c8f0867877b122941a4a42910e6f62d6bd86"
},
"downloads": -1,
"filename": "dynamic_pong-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b814d45872b4f6bc0fe5116b76dba679",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23128,
"upload_time": "2024-01-19T17:39:29",
"upload_time_iso_8601": "2024-01-19T17:39:29.553049Z",
"url": "https://files.pythonhosted.org/packages/98/7a/d790d70546f46015d828d1614fbade7b79fb653946f34a4daf2dbfce04df/dynamic_pong-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a368f2a8086408e79ff4eae77232b225814462ab430ebd6df01958a1cc073345",
"md5": "6dcbf2483c6fb160f16e2360dbce9393",
"sha256": "3934a757adce21c5611794c4d9386feabe8429dfd33dca94d9fce073d9ce4611"
},
"downloads": -1,
"filename": "dynamic_pong-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "6dcbf2483c6fb160f16e2360dbce9393",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23546,
"upload_time": "2024-01-19T17:39:30",
"upload_time_iso_8601": "2024-01-19T17:39:30.723951Z",
"url": "https://files.pythonhosted.org/packages/a3/68/f2a8086408e79ff4eae77232b225814462ab430ebd6df01958a1cc073345/dynamic_pong-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-19 17:39:30",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "dynamic-pong"
}