/tetris

Classic Tetris game implemented in Java with a simple and intuitive user interface.

Primary LanguageJava

Tetris

Welcome to the Tetris Game project! This classic Tetris implementation provides an engaging gaming experience with intuitive controls and a familiar block-dropping challenge.

This Tetris game project is a Java-based implementation with a graphical user interface. It follows the classic rules of Tetris, where players aim to complete lines by moving and rotating falling blocks.

Features

  • Classic Tetris gameplay with block rotation and movement
  • User-friendly interface with score, level, and next-piece display
  • Sound effects for line completion, game over, and more
  • Pause and reset functionality

Gameplay Screenshots

Screenshot 1

Screenshot 2

Game Controls

  • W or ↑: Rotate block
  • D or →: Move block right
  • S or ↓: Move block down
  • A or ←: Move block left
  • SPACE: Drop block
  • P: Pause/Play
  • R: Reset

Installation

  1. Clone the repository: git clone https://github.com/wahidsadikjishan/tetris.git
  2. Navigate to the project directory: cd tetris
  3. Compile and run the game: javac core/Main.java && java core.Main

Alternatively, you can download the game directly from itch.io and follow the instructions provided on the page.

Usage

  1. Launch the game using the provided instructions.
  2. Use the specified controls to play the game.
  3. Enjoy the classic Tetris experience!

User Interface

The game interface includes a play area, next-piece preview, score display, and control instructions. Customize the game further by exploring the code.

Technologies Used

  • Java
  • Swing (for GUI)

Learnings and Insights

The Tetris project provided valuable insights into game development, reinforcing the importance of user-centric design. Balancing simplicity with depth, the game offers a glimpse into the delicate equilibrium required for crafting enjoyable gaming experiences.

Future Improvements

  • Implement a multiplayer mode.
  • Enhance graphics and animations.
  • Add more sound effects and background music options.
  • Optimize code for better performance.

Contribution

Contributions are welcome! If you find any bugs or have suggestions for improvement, please open an issue or create a pull request.