Welcome to my personal collection of Python projects! This repository is a showcase of my work and learning journey, featuring a diverse range of applications. You'll find everything from classic games and command-line tools to more complex projects utilizing object-oriented programming and data manipulation.
Below is a list of the projects you can find in this repository. Each is contained within its own directory and is built to be a standalone application.
| Project Name | Folder | Description |
|---|---|---|
| Snake Game | Snake Game/ |
A complete, object-oriented implementation of the classic Snake game using the Turtle graphics library. It features a scoring system, high-score persistence, and clean, modular code. |
| Pong Game | Pong Game/ |
A two-player Pong game built with Python's Turtle module. This project demonstrates object-oriented principles for creating the ball, paddles, and scoreboard. |
| Peek Hour | Peek Hour/ |
A "Frogger" style crossing game where the player must navigate a character across a busy road filled with moving cars. The game's difficulty increases with each level. |
| States Guessing Game | States Guessing Game/ |
An educational game that challenges players to name all 50 U.S. states. It uses the pandas library to read state coordinates from a CSV file and turtle to display them on a map. |
| OOP Coffee Machine | OOP Coffee Machine/ |
A sophisticated, object-oriented simulation of a coffee machine. It manages resources, processes coin payments, and serves different types of coffee, all handled by separate, well-defined classes. |
| Mail Merge | Mail Merge/ |
A practical script that automates the creation of personalized letters. It reads a list of names and a template letter, then generates a unique invitation for each person. |
| Quiz Game | Quiz Game/ |
A command-line quiz application that tests your knowledge with true/false questions. The project is structured with separate classes for questions and quiz logic. |
| BlackJack | BlackJack/ |
A playable command-line version of the card game Blackjack (21). It includes logic for dealing cards, calculating scores (including Aces), and determining the winner. |
| Hirst Painting Generator | Hirst Painting Generator/ |
A creative script that generates art reminiscent of Damien Hirst's spot paintings. It uses the colorgram library to extract colors from an image and turtle to draw the final piece. |
| Higher or Lower | Higher or Lower/ |
A game where you guess which of two personalities has more social media followers. It pulls data from a local game file and keeps track of your score. |
| Hangman Game | Hangman Game/ |
The classic word-guessing game Hangman, built as a command-line application. It includes ASCII art to display the hangman's stages and the game's logo. |
| Turtle Race | Turtle Race/ |
A fun and simple racing game where multiple turtles compete. Users can place a bet on which color turtle they think will win. |
| Caesar Cipher | Caesar Cipher/ |
An encryption and decryption tool based on the Caesar cipher algorithm. This script can shift letters in a message to hide its content. |
| Silent Auction | Silent Auction/ |
A command-line program that simulates a silent auction. It allows multiple bidders to enter their names and bids, then determines the highest bidder. |
| Number Guessing | Number Guessing/ |
A classic number guessing game where the player must guess a randomly chosen number within a certain number of attempts. It includes easy and hard difficulty levels. |
| Simple Calculator | Simple Calculator/ |
A functional command-line calculator that can perform addition, subtraction, multiplication, and division. It allows for continuous calculations using previous results. |
| Tip and Split Calculator | Tip and Split Calculator/ |
A handy tool for calculating how much each person should pay at a restaurant, including a percentage-based tip. |
| Rock Paper Scissor | Rock Paper Scissor/ |
The timeless game of Rock, Paper, Scissors played against the computer. The script uses ASCII art to visually represent the choices. |
| Random Password Generator | Random Password Generator/ |
A script that generates strong, secure passwords by combining a user-specified number of letters, symbols, and numbers. |
| Treasure Island | Treasure Island/ |
A classic text-based "choose your own adventure" game where the player makes a series of choices to find a hidden treasure. |
| Coffee Machine | Coffee Machine/ |
A procedural programming version of the coffee machine simulator. It manages ingredients and processes payments to dispense drinks. |
To get a local copy of these projects up and running, follow these simple steps.
You need to have Python 3.x installed on your system. It is also highly recommended to use a virtual environment for each project to manage dependencies.
-
Clone the repository:
git clone [https://github.com/m4milaad/Pyhton-Projects.git](https://github.com/m4milaad/Pyhton-Projects.git)
-
Navigate to the project directory:
cd Pyhton-Projects -
Set up a specific project: Navigate into the folder of the project you want to run. For example:
cd "Snake Game"/
-
Create and activate a virtual environment:
- Create:
python -m venv venv
- Activate on Windows:
.\venv\Scripts\activate
- Activate on macOS/Linux:
source venv/bin/activate
- Create:
-
Install the required packages: Some projects may have a
requirements.txtfile listing their dependencies. Install them using pip:pip install -r requirements.txt
(If a project doesn't have a
requirements.txtfile, you may need to install libraries likepandasorcolorgrammanually.)
Once you have installed the dependencies for a specific project, you can run it from the command line.
For example, to run the main script of a project:
python main.pyPlease refer to the comments within each project's source code for more specific instructions.
Contributions, issues, and feature requests are welcome! If you have ideas for how to improve any of the projects, feel free to check the issues page.
This repository is distributed under the MIT License.
Project Link: Click here