819c917292 | ||
---|---|---|
bin | ||
libs | ||
LICENSE | ||
Makefile | ||
README.md | ||
config.def.ini | ||
main.c |
README.md
Quadrimino
Highly configurable, terminal modern Tetris clone written in C.
Plan
Configuration
Things that will be configurable:
- Gavity
- Starting Speed Level
- Ending Speed Level
- How fast levels change
- Levels will range from 0-30, adhering to Tetris level standards
- Lock time
- Whether or not this setting is enabled
- If it is enabled, what the lock time is set to (superceding gravity lock time)
- Possibly the kick system
- Options are SRS and classic
- Scoring
- What each thing is worth
- Whether or not to enable T-spins, and other spins, and combos
- Multiplayer stuff
- Controls
- Zone stuff
- Piece color
- Piece character (per peice)
- Toggle UI elements such as timer
- Configure the apperance/color/characters of other UI elements
- Handling settings
- Shuffle system
- Possibily a Classic mode
- Enable Piece shadows
- Classic vs. Modern loosing
UI elements
- Timer
- Score counter
- Zone counter
- B2Bs
- Combo
- Clear type
- Piece queue
- Multi player stuff
- Matrix and Matrix Outline
- Matrix is a checkerboard of filled in squares (██)
Multiplayer
Implimented last
If there is one opponent, it would probably be viewed in the same terminal window. If there are multiple opponents, you can cycle/select the opponent that you want to see.
- Garbage
- At least one opponent
- User hosted
- Modes
- Time, Normal, Zone
- Configuration options
TODO
[ ] Learn C
[ ] Learn Ncurses
[ ] Create more in-depht plan
[ ] Implement configuration file reading
Dependencies
- Make
- Ncurses
- C Compiler
Style
-
Comment everything. Comments are critical to having readable code.
-
/* */
intead of//
-
Short variable names. Declarations are followed by comments. If you can't remember them, write them down.
-
No more than one consecutive empty line. Extravigant spacing is pretty, but it is extremely hard to be consistant with spacing.
- Coments should be right above the code the are explaining. Unless the code they are explaining has comments in it, in which case there should be a single empty line between the comment and the code.
-
Max line length of 79
-
What would Suckless do?
- https://suckless.org/coding_style/
- The coding style of this project closely reflects that of the suckless coding style
Notice
Please keep in mind that the devs of this project are new to programing.