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.