Tetris/README.md
2024-01-09 19:27:04 +02:00

93 lines
2.8 KiB
Markdown

# Tetris
![Tests](https://github.com/kristoferssolo/Tetris/actions/workflows/tests.yml/badge.svg) ![Lint](https://github.com/kristoferssolo/Tetris/actions/workflows/lint.yml/badge.svg)
<!-- toc -->
- [Overview](#overview)
- [Prerequisites](#prerequisites)
- [Running the game](#running-the-game)
- [Settings](#settings)
* [General Settings](#general-settings)
* [Movement Settings](#movement-settings)
* [Rotation Settings](#rotation-settings)
* [Action Settings](#action-settings)
* [Volume Settings](#volume-settings)
+ [Music](#music)
+ [Sound Effects (SFX)](#sound-effects-sfx)
- [Acknowledgments](#acknowledgments)
<!-- tocstop -->
## Overview
Welcome to Tetris, a classic and timeless game implemented in Python using the [Pygame](https://www.pygame.org/) library.
## Prerequisites
Before running the Tetris game, make sure you have the following installed on your system:
- Python (version 3.11 recommended)
## Running the game
1. Clone the repository:
```bash
git clone https://github.com/kristoferssolo/Tetris
```
2. Navigate to the project directory:
```bash
cd Tetris
```
3. Install the required dependencies:
```bash
pip install .
```
4. Run the game:
```bash
python main.py
# or
python -m tetris
```
## Settings
The `settings.toml` file is a configuration file for customizing various aspects of the game.
### General Settings
- `pause`: Defines the keys to pause the game. Currently a work in progress (WIP[^WIP]).
- `quit`: Defines the key(s) to quit the game.
- `colorscheme`: Specifies the color scheme for the game interface. Options include:
- `tokyonight-night`
- `tokyonight-storm`
- `tokyonight-day`
- `tokyonight-moon`
### Movement Settings
- `left`: Defines the keys to move the tetromino[^tetromino] left.
- `right`: Defines the keys to move the tetromino right.
- `down`: Defines the keys to accelerate the tetromino's fall.
### Rotation Settings
- `cw (clockwise )`: Defines the keys to rotate the tetromino in a clockwise direction.
- `ccw (counter-clockwise)`: Defines the keys to rotate the tetromino in a counter-clockwise direction.
### Action Settings
- `hold`: Defines the keys to hold the tetromino (WIP).
- `drop`: Defines the keys to instantly drop the tetromino.
### Volume Settings
#### Music
- `enabled`: Indicates whether music is enabled.
- `level`: Specifies the volume level for the music.
#### Sound Effects (SFX)
- `enabled`: Indicates whether sound effects are enabled.
- `level`: Specifies the volume level for the sound effects.
## Acknowledgments
Thanks to [Folke](https://github.com/folke), the creator of [TokyoNight](https://github.com/folke/tokyonight.nvim) color theme.
[^WIP]: Work In Progress.
[^tetromino]: A tetromino is a geometric shape composed of four squares, connected orthogonally (i.e. at the edges and not the corners).