All Projects → brenns10 → Tetris

brenns10 / Tetris

Licence: bsd-3-clause
Tetris in C and NCURSES.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Tetris

Rogue Craft Sp
Rogue Craft is an ncurses based roguelike/sandbox/RPG game
Stars: ✭ 12 (-90.77%)
Mutual labels:  ncurses, game
Pygame Menu
Menu for pygame. Simple, lightweight and easy to use
Stars: ✭ 244 (+87.69%)
Mutual labels:  game, sound
X3daudio1 7 hrtf
HRTF for Arma 3, Skyrim, and other titles that use XAudio2 + X3DAudio
Stars: ✭ 192 (+47.69%)
Mutual labels:  game, sound
Soloud
Free, easy, portable audio engine for games
Stars: ✭ 1,048 (+706.15%)
Mutual labels:  game, sound
Neix
neix - a RSS/Atom feed reader for your terminal.
Stars: ✭ 128 (-1.54%)
Mutual labels:  ncurses
I Simpa
An Open Source software for 3D sound propagation modelling
Stars: ✭ 125 (-3.85%)
Mutual labels:  sound
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+8140%)
Mutual labels:  game
Egretcleangame
由egret引擎编写的小游戏
Stars: ✭ 125 (-3.85%)
Mutual labels:  game
F4mp
Stars: ✭ 130 (+0%)
Mutual labels:  game
Warzone2100
Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
Stars: ✭ 2,094 (+1510.77%)
Mutual labels:  game
Trivial Gamekit
Simple framework for making 2D games
Stars: ✭ 127 (-2.31%)
Mutual labels:  sound
Planetfall
Planetfall, by Steve Meretzky (Infocom)
Stars: ✭ 126 (-3.08%)
Mutual labels:  game
Facepunch.steamworks
Another fucking c# Steamworks implementation
Stars: ✭ 1,945 (+1396.15%)
Mutual labels:  game
Nnn
n³ The unorthodox terminal file manager
Stars: ✭ 13,138 (+10006.15%)
Mutual labels:  ncurses
Newbark
🌳 A proof-of-concept Pokémon-style Retro RPG engine created with Unity.
Stars: ✭ 129 (-0.77%)
Mutual labels:  game
Pong Command
pong is not ping. pong is CLI game.
Stars: ✭ 121 (-6.92%)
Mutual labels:  game
Minijvm
Develop iOS Android app in java, Cross platform java virtual machine , the minimal jvm .
Stars: ✭ 127 (-2.31%)
Mutual labels:  game
Opengoo
A free clone of World Of Goo
Stars: ✭ 128 (-1.54%)
Mutual labels:  game
Scorched earth
Scorched Earth clone in JRuby with no dependencies.
Stars: ✭ 126 (-3.08%)
Mutual labels:  game
Paradoxgameconverters
Various converters between different grand strategy games
Stars: ✭ 126 (-3.08%)
Mutual labels:  game

Tetris

tetris.gif

A tetris game in C using NCURSES. It's pretty feature complete, except for stretch goals I may pick up in my free time.

Building

My dependencies are:

  • libsdl and libsdl_mixer 1.2 for sound.
  • ncurses for terminal manipulation.

To install them on Arch Linux:

sudo pacman -S sdl_mixer ncurses

To install them on Ubuntu:

sudo apt-get install libsdl-mixer1.2-dev libncurses5-dev

To compile:

make

To run:

bin/release/main

You will need to provide a file named tetris.mp3 in the same directory that you're running the game from. As I understand it, the official Tetris theme song is legally protected in the use of games like this, so I will not be providing or linking to that. But I'm sure you could find something! (You do not need to provide tetris.mp3 in order to play the game, only if you want sound!).

Instructions

The controls are typical of Tetris:

  • and : Move the tetromino,
  • : Rotate (clockwise?) the tetromino,
  • : Immediately drop the tetromino (not a fast drop, an immediate drop),
  • Q: Exit the game prematurely,
  • P: Pause the game (any key to resume),
  • B: "Boss mode" - show a mock terminal screen to fool nosy onlookers. Hit F1 to resume the game afterwards.
  • S: Save game and exit (just assumes filename tetris.save). To resume the game, run bin/release/main tetris.save (or whatever you may have renamed the game save to).

Future/Stretch Goals

  • Sound effects (in addition to the theme music).
  • Networked multiplayer!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].