Skip Navigation
christos christos @programming.dev
Posts 5
Comments 0

chaftrix: image rendering + animation + matrix effect in terminal window (c, chafa)

https://gitlab.com/christosangel/chaftrix

This program written in C will render the matrix effect in the terminal window in the background, while rendering an image in the foreground, allowing animation of this image in one or two dimensions.

[!video.png](https://www.youtube.com/watch?v=fUZXQDAQJ1w)

Image rendering is done with chafa.

This program is the continuation and evolution of other projects:

https://gitlab.com/christosangel/matrix_clone

https://gitlab.com/christosangel/ascii-matrix

https://gitlab.com/christosangel/animatrix

0

tui-battleship, the classic naval battle game (Bash).

https://gitlab.com/christosangel/tui-battleship

This is a tui implementation of the popular classic naval battle game, written in Bash.

The objective of the game is to destroy the computer's fleet, before the computer achieves the same against you.

You take turns with the computer, hitting squares in each other's grids.

You have to guess the position of the enemy ships on the computer's 10x10 grid, in order to win.

!win

You lose if the computer achieves sinking your ships first.

!lose

0

tui-mines: Sweep mines from a minefield, in the terminal (Bash)

https://gitlab.com/christosangel/tui-mines

tui mines is evidently a text-based user interface implimentation of the classic mine sweeping puzzle game.

The user has to clear a board, square by square, flagging the squares suspected to hide mines on the way.

If the user opens a mine square, things go KABOOM! and the game is lost.

!kaboom!

The user uses hints from the numbered squares. This numbers how many bombs are touching that square in every direction ( 8 in total).

Through logic, and a bit of luck, the player ends up clearing all the squares, while flagging all the mines.

2

LADDER: A CLI word puzzle

https://gitlab.com/christosangel/ladder

Ladder is a word puzzle, played in a terminal window.

Your starting point is an initial four-letter word.

Your goal is to transform this word, one letter at a time, through other valid words, and end up with the target word.

The tricky part is that on each entry, you can change ONLY ONE LETTER.

0

tui-sudoku (Bash script)

tui-sudoku is a configurable terminal interface sudoku game, with quite a few features.

https://gitlab.com/christosangel/tui-sudoku

Starting the game, and through the main menu, the player can :

  • Start a new game
  • Load previously saved game
  • Configure some parameters (colors, preferred editor, puzzle symmetry,preffered png)
  • exit the program

PLAYING THE GAME

After choosing the n New Game option, the player can select the level of difficulty.

The user will be presented with the known 9x9 sudoku matrix.

Using the shortcuts in the shown cheatsheet table, the player can

|Shorcuts |Action | |-----|-----| | hjkl 🠄 🠅🠇🠆 | Move Cursor | | [1-9] | Insert Number | |0,␣,␈ |Clear Cell | | E | Earmark cells| |H|Toggle Highlight Numbers| |S|Save Game| |z,Z| Undo / Redo | |M|Return to Main Menu| |Q|Show Solution & Quit|

  • Typing H while the cursor is on a number, e.g. 2, will highlight all the 2s in the matrix.

    Typing H again will undo the highlighting:

-Typing E and entering up to 3 digits, will earmark the cell:

  • Entering an illegal number (a number that already exists in the row, the line or the 3x3 block) will mark the number with a different color, and give a warning message:

While the Moption returns to the Main Menu, and the S option saves the game, the Q option prints the solution and exits:

  • The user can also Undo or Redo their entries with the z or Z option respectively.

Back in the Main Menu, the player can also

  • Load a previously saved game with the l option

  • Configure preferred colors, preferred text editor and puzzle symmetry with the c option

  • or Browse the Top Ten Scores (s option)

The configuration is kept in the $HOME/.config/tui-sudoku/tui-sudoku.config file.

If there is no file kept there, default values will be loaded.

  • You can select the colors you like and the respective codes as they demonstrated here:

    https://talyian.github.io/ansicolors/

    Default colors

    | Color | Code | Script Variable | |-----|-----|-----| |Grid Color|\x1b[38;5;60m"| C1| |Given Numbers Color |\e[1;33m"|C2| |Found Numbers Color |\e[1;36m"|C3| |Wrong Numbers Color |\e[1;31m"|C4| |Highlight Color |\e[1;32m"|C5| |TextColor1 |\e[35m"|C6| |TextColor1 |\e[36m"|C7|

  • SYMMETRY variable configures the symmetry of the given cells in the 9x9 matrix. Valid options are: none, rotate90, rotate180, mirror, flip, or random

  • PREFFERED_PNG variable defines the png that shows in the notifications. These images are located in the $HOME/.cache/tui-sudoku/png/ directory.

Any feedback is appreciated!

Any feedback is appreciated!

---

Added feature in 0.2.0: earmarked cells change color when illegal (the number already exists in row, column or 3x3 square)

--- Added feature in 0.3.0: Toggle info (key cheatsheet).

0