{"id":17870728,"url":"https://github.com/jtsiomb/termtris","last_synced_at":"2025-03-21T14:31:51.814Z","repository":{"id":148935659,"uuid":"170100296","full_name":"jtsiomb/termtris","owner":"jtsiomb","description":"Tetris game for terminals","archived":false,"fork":false,"pushed_at":"2024-12-13T13:30:40.000Z","size":172,"stargazers_count":39,"open_issues_count":0,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-18T02:21:45.997Z","etag":null,"topics":["ansi","dos","terminal","terminal-game","tetris","unix","vt100","vt52"],"latest_commit_sha":null,"homepage":"http://nuclear.mutantstargoat.com/sw/termtris","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtsiomb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-11T09:17:07.000Z","updated_at":"2025-02-14T18:10:58.000Z","dependencies_parsed_at":"2023-09-24T06:21:49.630Z","dependency_job_id":"5ead7f1b-1e32-4113-a6f3-c0a2143579f8","html_url":"https://github.com/jtsiomb/termtris","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Ftermtris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Ftermtris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Ftermtris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtsiomb%2Ftermtris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtsiomb","download_url":"https://codeload.github.com/jtsiomb/termtris/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244815261,"owners_count":20514922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansi","dos","terminal","terminal-game","tetris","unix","vt100","vt52"],"created_at":"2024-10-28T10:18:46.464Z","updated_at":"2025-03-21T14:31:51.446Z","avatar_url":"https://github.com/jtsiomb.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Termtris - tetris game for terminals\n====================================\n\n![shots](http://nuclear.mutantstargoat.com/sw/termtris/img/termtris-banner.png)\n\nAbout\n-----\n\nTermtris is a text-based tetris game, initially written for UNIX systems and\nANSI/VT100-compatible terminals, but later extended to support more terminal\ntypes, operating systems, and text-mode video hardware.\n\nI always liked the GameBoy tetris best. So I made termtris as close as possible\nto that version gameplay-wise.\n\nTermtris can run in color or monochrome mode, and can load custom character sets\nfor graphical blocks, if there is support for that.\n\nThere are two main flavors of termtris which can be compiled from the same\nsource tree:\n\n  1. The original **UNIX version** which runs on terminals, and can also be\n     compiled for windows using a POSIX emulation layer such as *msys2* or\n    *cygwin*. It has been tested on multiple UNIX systems (GNU/Linux, FreeBSD, IRIX,\n    Solaris, MacOSX), and multiple terminals (VT52, VT100, VT220, VT420,\n    MS 6102), and terminal emulators (xterm, linux console, kermit, iTerm2).\n\n  2. The **DOS version** which uses the PC BIOS to access display and keyboard,\n    but can also optionally work with the same terminals supported by the UNIX\n    version.\n\n### Links\n  - website: http://nuclear.mutantstargoat.com/sw/termtris\n  - source repository: https://github.com/jtsiomb/termtris\n\n\nControls\n--------\n  - `A` or *left arrow* moves the block left.\n  - `D` or *right arrow* moves the block right.\n  - `S` or *down arrow* drops the block faster.\n  - `W`, *up arrow*, or *space* rotates the block.\n  - *enter*, *tab*, or `0` drops the block immediately.\n  - `P` pauses and unpauses the game.\n  - *backspace*, or *delete* starts a new game.\n  - `Q` or hitting escape twice, quits immediately.\n  - `H` shows or hides the help panel which lists these keybindings.\n  - `R` shows or hides the high score table.\n\nAdditionally on GNU/Linux systems any joystick can be used to control the game.\nThe first available joystick is used automatically, or you can specify a\njoystick device with the `-j` commandline option. If you'd rather disable\njoystick control, use the option `-j /dev/null`.\n\nWhen using a joystick, even axes are mapped to left/right, Odd axes are mapped\nto up/down, the first four buttons rotate, and the rest of the buttons pause\nand unpause.\n\nThere is no way to remap the controls without changing the source code at this\ntime.\n\n\nCustom character set\n--------------------\nFor terminals with support for custom loadable character sets, you can instruct\ntermtris to use graphical blocks instead of the bracket characters with the `-g`\ncommand-line argument. If `TERM` is set to a known supported terminal, graphical\nblocks are enabled automatically, use the `-T` option to disable and inhibit\nauto-detection.\n\nDifferent terminals have different capabilities when it comes to soft character\nsets. Termtris will try to detect the terminal type and choose the correct soft\nfont to load, but if it fails or you want to force a different terminal type,\nmake sure to define the `TERM` environent variable. If `TERM` is undefined, or\nan unknown or unsupported terminal type, termtris will try to interrogate the\nterminal itself about its capabilities.\n\nThe DOS version of termtris will automatically enable graphical blocks when it\ndetects an EGA or VGA/SVGA graphics card. Use `-g` or `-T` to enable or disable\nit explicitly.\n\n\nLicense\n-------\nCopyright (C) 2019-2023 John Tsiombikas \u003cnuclear@mutantstargoat.com\u003e\n\nThis program is free software. Feel free to use, modify, and/or redistribute it\nunder the terms of the GNU General Public License version 3, or at your option,\nany later version published by the Free Software Foundation. See COPYING for\ndetails.\n\n\nDownload\n--------\n### Source code\nCurrent release (1.9): http://nuclear.mutantstargoat.com/sw/termtris/termtris-1.9.tar.gz\n\nReleases are also mirrored on github: https://github.com/jtsiomb/termtris/releases\n\nAlternatively you may clone the latest version of the source code from the git\nrepository:\n\n    git clone https://github.com/jtsiomb/termtris\n\n### Pre-compiled\nBuilding from source is highly recommended. If however you want to try a\npre-compiled binary, you might be able to find something for your system in:\nhttp://nuclear.mutantstargoat.com/sw/termtris/bin\nNot all releases are compiled for all platforms. Any binaries available here are\nprovided purely for convenience. Do not open bug reports about a pre-compiled\nbinary not running, or misbehaving on your system; compile it yourself first.\n\nAnother source of binaries, is the github automated builds. Head over to the\n\"actions\" page (https://github.com/jtsiomb/termtris/actions), choose the latest\nsuccessful build for your platform, and download the binary from the \"artifacts\"\nsection at the bottom.\n\nPre-compiled binaries might also be available in your package management system of\nchoice, but please do not submit any bug reports without first trying to build\ntermtris yourself from the latest git source code.\n  - Debian/Ubuntu/Mint: `apt-get install termtris`\n\nThe latest pre-compiled DOS binary (currently 1.9) is always available at:\nhttp://nuclear.mutantstargoat.com/sw/termtris/termtris.com\n\nBuild (UNIX)\n------------\nThere are no external dependencies. Simply type `make` to build, and `make\ninstall` if you wish to install termtris.\n\nDefault installation prefix is `/usr/local`. Change the first line of the\n`Makefile` if you'd rather install somewhere else, or simply invoke the install\nrule like so:\n\n    make PREFIX=/some/other/prefix install\n\nIf you don't have GNU make and GCC installed, or you'd rather use the default\nmake utility and C compiler on your UNIX system, you can use `Makefile.sgi`:\n\n    make -f Makefile.sgi\n\n(originally included for building on SGI IRIX with MIPSPro and the native make).\n\n\nBuild (DOS)\n-----------\nTo build the DOS version of termtris you'll need some version of the Watcom or\nOpenWatcom C compiler, and the NASM assembler:\n\n    make -f Makefile.wat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Ftermtris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtsiomb%2Ftermtris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtsiomb%2Ftermtris/lists"}