Skip to main content
added 1080 characters in body
Source Link
Martin Ender
  • 197.2k
  • 67
  • 447
  • 975

???Labyrinth, 17 bytes, cracked by totallyhuman

[##!]
[\X_]
@-99@

Try it online!

Output is decimal and linefeed-separated.

Explanation

[] and letters aren't commands in Labyrinth, so they act as walls and they might as well be spaces:

 ##!
 \ _
@-99@

The final @ is also a red herring, because the control flow never gets there. The main program is just the following loop:

#    Push the current stack depth. This is i-1 (where i is the number printed in the
     current iteration).
#    Push the current stack depth. This is i.
!    Print i as a decimal integer.
_99  Push 99.
-    Subtract it from i-1. This gives 0 iff we want to terminate the program. In that
     case the IP moves to the @, otherwise it continues the loop.
\    Print a linefeed.

@ terminates the program.

???, 17 bytes

[##!]
[\X_]
@-99@

Output is decimal and linefeed-separated.

Labyrinth, 17 bytes, cracked by totallyhuman

[##!]
[\X_]
@-99@

Try it online!

Output is decimal and linefeed-separated.

Explanation

[] and letters aren't commands in Labyrinth, so they act as walls and they might as well be spaces:

 ##!
 \ _
@-99@

The final @ is also a red herring, because the control flow never gets there. The main program is just the following loop:

#    Push the current stack depth. This is i-1 (where i is the number printed in the
     current iteration).
#    Push the current stack depth. This is i.
!    Print i as a decimal integer.
_99  Push 99.
-    Subtract it from i-1. This gives 0 iff we want to terminate the program. In that
     case the IP moves to the @, otherwise it continues the loop.
\    Print a linefeed.

@ terminates the program.

Source Link
Martin Ender
  • 197.2k
  • 67
  • 447
  • 975

???, 17 bytes

[##!]
[\X_]
@-99@

Output is decimal and linefeed-separated.