/pyTetris

pygame implementation of a Tetris clone.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

pyTetris

A project meant to serve as a way for me to learn how to make a game using the pygame module. This is intended to be a Tetris clone.

Controls:

LEFT and RIGHT arrow keys to shift tetrimino left and right.
DOWN arrow key to speed up falling tetrimino.
Z or LCTRL keys to rotate tetrimino counter-clockwise.
X or UP keys to rotate tetrimino clockwise.
SPACE key to drop tetrimino, and LSHIFT to hold tetrimino.
ESCAPE key to pause.

Feature Tracker:

  • (Done) Grid collision detection and piece shifting.
  • (Done) SRS implementation of rotation and spawn logic.
  • (Done) Arika implementation of wall kicks.
  • (Done) A ghost to predict where the piece will fall.
  • (Done) Both soft and hard drop methods to rush the piece falling.
  • (Done) Delayed Auto Shifting, and ARE, allowing DAS and Hold to be available during this time.
  • (Done) Line clear in naive, sticky, and cascade methods.
  • (Done) Score tracking system and a way to save and view high scores.
  • (Needs Testing) Arcade and Timed modes of play.
  • (Incomplete) Keyboard controlled menus, including a pause menu.
  • (Unimplemented) Options menu that allows changing of gameplay, aesthetic, and sound volume.
  • (Incomplete) Sound effects and background music.
  • (Incomplete) Art for all game textures, menus, and the logo.

Issue Tracker:

  • Arcade Mode has not been sufficiently tested.

Current Version: 1.1.8

Let me know if there are any other problems!