Skip to content

makesnosense/s21_brickgame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

347 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s21_BrickGame

Game Demo

Tetris and Snake games developed as a practice project at School 21 (formerly 42.fr).

  • Two interfaces for each game: Qt-based GUI and ncurses console
  • MVC architecture with logic/UI separation
  • Finite state machines for game logic
  • The mixed-language approach: C11 for tetris backend and C++20 for snake backend

Requirements

  • macOS or Linux
  • ncurses (for CLI version, usually pre-installed)
  • Qt6 (for desktop GUI version)

Installation

Both versions:

git clone https://github.com/makesnosense/s21_brickgame.git
cd s21_brickgame
make install

CLI only:

make install_cli

Desktop GUI only (requires Qt6):

make install_desktop

Running

CLI

./bin/run_cli

GUI

./bin/run_desktop

Uninstall

make uninstall

Tetris Controls

Key Action Description
← (Left) Left Move the piece left
→ (Right) Right Move the piece right
↓ (Down) Down Soft drop the piece
Space Action Rotate the piece
Q or q Terminate Quit the game
P or p Pause Pause the game

Snake Controls

Key Action Description
← (Left) Left Turn counterclockwise
→ (Right) Right Turn clockwise
Q or q Terminate Quit the game
P or p Pause Pause the game

About

Tetris and Snake games with Qt GUI and CLI implementations

Topics

Resources

License

Stars

Watchers

Forks

Contributors