This is a TUI implementation of modern-ish Tetris with SRS rotation sytem :)
![image](https://private-user-images.githubusercontent.com/95462776/278708934-fb7acba5-6ab7-4f0b-ab58-b5ebc5eb678e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3ODMxMjMsIm5iZiI6MTcyNDc4MjgyMywicGF0aCI6Ii85NTQ2Mjc3Ni8yNzg3MDg5MzQtZmI3YWNiYTUtNmFiNy00ZjBiLWFiNTgtYjVlYmM1ZWI2NzhlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI3VDE4MjAyM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWViMWU2M2EwMjJkZTU4MDNkYWUwNjkyNzU5YmFhYzEyNTM4ODZmYWNkMjg4NzVlZDZlMTgwMTQ4NTQ1NWJkZGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.AyMuQuoeeCJjO1iKPECvVW2bZwrJCmfFji5s4Hmun1s)
preview.mp4
This project is built with
Meson. To install meson you can visit their GitHub page.
To compile the project, first you need to build it using
meson setup {{ build directory }}
You can compile the project using
meson compile -C {{ build directory }}
Configuration of the project is stored in the config.yaml
file
config:
easyMode: true # Turns on ghosts of the Tetrominos
level: 1 # Game level from 1 to 15
updatesPerSecond: 240 # Can help with performance and power consumption
currentTheme: Autumn Haze # Chosen theme
forceBackgroundColor: false # Forces background color
storeDelayMs: 500 # Ms before tetromino is saved to the board
softDropDelayMs: 50 # Detection rate of the soft drop press
softDropGravityMsPerRow: 20 # Soft drop gravity
comboDelayMs: 6000 # Combo timeout
debug: false # Debug mode
themes:
- name: Default
mainColorsGradient: # headers gradient
- "#4cd137"
- "#4cce3c"
- "#4ccb41"
- "#4cc54a"
- "#4bb85d"
- "#4bab70"
- "#42916a"
- "#387763"
- "#254f42"
gameOverColorsGradient: # game over gradient
- "#e84118"
- "#d63c1f"
- "#c43725"
- "#a02d32"
- "#57194b"
mainColor: "#4a9e83"
gameOverColor: "#57194b"
backgroundColor: "#000000"
valueColor: "#4bb365"
trueColor: "#4cd137"
falseColor: "#e84118"
IColor: "#00a8ff"
OColor: "#fbc531"
TColor: "#9c88ff"
JColor: "#2b2cd5"
LColor: "#f28325"
SColor: "#4cd137"
ZColor: "#e84118"
controls:
moveLeft: a
moveRight: d
rotateLeft: ","
rotateRight: .
swapHold: z
softDrop: s
hardDrop: " "
forfeit: t
retry: r