Tetris clone written in modern C++ with OpenGL.
- Utilize modern C++11 (except shared_ptr/unique_ptr) and the standard libary
- Avoid use of Singleton pattern in favor of DI (dependency injection) where applicable
- Learn manual memory management through the use of new & delete
- Implement collision detection using bitwise manipulation (bitmask)
- Utilize googletest for unit testing and creation of test fixtures
- Gain experience debugging with gdb
- Use a minimal amount of textures
- cmake minimum 3.14
- opengl minimum 3.3
- glfw3 minimum 3.2
Linux
- Download & install dependencies
$ git clone https://github.com/tony-redekop/cpp-tetris.git
$ cd cpp-tetris
$ mkdir build
$ cd build
$ cmake -G "Unix Makefiles" ..
$ make
$ ./test/demo
Windows
Note: The project has not been tested on Windows.
Credit to Joey de Vries of learnopengl.com for providing the best resource on modern OpenGL on the internet and for providing a lot of the OpenGL boilerplate.