My solution to https://github.com/jesus-seijas-sp/hand-challenge hand-challenge.
You find a strange mirror that always shows a hand that is moving. The hand appears to be alive, and after a lot of questions of "yes" and "no" answer, you know that the hand is trying to teach you a program that is written in HPL (Hand Programming Language).
This language works with a memory of an indefinite size of bytes, with all values initialized to 0. This language haves 7 instructions:
π : moves the memory pointer to the next cell
π : moves the memory pointer to the previous cell
π : increment the memory cell at the current position
π : decreases the memory cell at the current position.
π€ : if the memory cell at the current position is 0, jump just after the corresponding π€
π€ : if the memory cell at the current position is not 0, jump just after the corresponding π€
π : Display the current character represented by the ASCII code defined by the current position.
- As memory cells are bytes, from 0 to 255 value, if you decrease 0 you'll get 255, if you increment 255 you'll get 0.
- Loops of π€ and π€ can be nested.
The hand shows you two small programs and their outputs:
ππ€πππππππππππ€πππππ€πππππππππ€πππππππππππππππππ
ππππππππππ€πππππππππππππ€ππππππππ€ππ€ππππππππππ€ππ€ππππππππππππ€πππ€ππππππππππππππππππππππππππ€ππ€ππππ€πππ€πππππππππππππππππππππππππππππππππππππππππππππ
The file "input.hand" is the code of the program
Good luck!