TetriZone is a server-client based version of the popular Tetris game. It allows users to play Tetris online, track their personal statistics, and compete with other players in real-time. The system is designed to be intuitive, modern, and user-friendly, ensuring seamless gameplay.
- Real-time Multiplayer: Play Tetris against other users online.
- Personal Statistics: Track your gameplay statistics and improve your skills.
- Modern Design: A sleek, intuitive interface that enhances the gaming experience.
- Secure Login and Registration: Safeguard your personal information with secure authentication mechanisms.
- Ensure you have Python installed on your system.
- Required libraries:
socket
,threading
,sqlite3
, etc.
-
Clone the Repository:
git clone https://github.com/EvyatarHaim/TetriZone.git cd TetriZone
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Server:
python server.py
-
Run the Client:
python client.py
- Open the client application.
- Enter your username and password to log in.
- If you don't have an account, click on the 'Sign Up' button to register.
- After logging in, you can start a new game or join an existing game.
- Use the arrow keys to control the Tetris blocks.
- Your score and game statistics will be updated in real-time.
Login Screen
In-Game Screen
- Authentication: Handles user login and registration.
- Game Management: Manages the state of ongoing games and user interactions.
- Database: Stores user data and game statistics securely.
- User Interface: Provides a graphical interface for users to interact with the game.
- Game Logic: Implements the core Tetris gameplay mechanics.
- Communication: Sends and receives data from the server to synchronize game state.
- Ensuring real-time synchronization between multiple clients.
- Implementing a secure authentication system.
- Designing a user-friendly and responsive UI.
- Utilized threading and socket programming to manage real-time communications.
- Employed encryption techniques to secure user data.
- Iteratively refined the UI based on user feedback and usability testing.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or support, please contact:
Evyatar Haim
Email: evyatarha9@gmail.com