cfgCaptcha
Prove you're a programmer!... an intrinsically-motivated one.
Warning: may contain minority languages unsuitable for the majority.
Now with easier puzzles, hints, new languages and leaderboard.
Top players (named only)
The game is in active development. Comments are welcome!
I don't understand what I'm supposed to do.
Click the control flow graph that corresponds to the code. Only one is correct.
The diagrams are disproportionally convoluted.
All diagrams reflect real-world programs designed by unsuspecting people.
The game started fine, then switched to obscure languages nobody uses.
Handle them as legacy code; start with the hints.
This has nothing to do with being an xN programmer.
How would I know?
Status | In development |
Platforms | HTML5 |
Rating | Rated 4.3 out of 5 stars (4 total ratings) |
Author | 2020 |
Genre | Puzzle |
Tags | captcha, coding |
Average session | A few minutes |
Inputs | Mouse, Touchscreen |
Links | Homepage |
Comments
Log in with itch.io to leave a comment.
Keeps crashing with an insecure connection a few levels in. Can I download this somehow?
Do you remember if you got the error while trying to solve the first OCaml puzzle or the second one?
Server logs suggest that you solved the first OCaml puzzle successfully, got a second OCaml puzzle in response, then after ~30 seconds refreshed the page, which could actually be done automatically by the browser upon network error. That refresh resulted in starting a new game.
Without more info, my only guess is that the server was too busy for the reverse proxy to fully process the request.
Unfortunately, the game isn't downloadable, and being a "Web 1.0 captcha" poses limitations regarding connection retries.
In case of an error like this (or one of the 50x errors), the best workaround depends on the browser: first, try to go back to the previous page, then either go forward (if the browser allows that) or re-submit the same diagram again. If the browser doesn't support going back to the previous page, refreshing the page may do the trick.
I don't remember, no. I did the refresh after getting the error, I did not manually refresh before that.
Sorry that I can't give you a better report on what actually happened. When I play again I'll try to pay closer attention to what exactly is happening. I'll also try the workarounds.
===== major spoilers below =====
I am loving the challenge and exercise, though the whole thing with the esoterik programming languages is garbage. Had a perfect run until 333% but then lost the joy with that.
(But hey at least now I can read Whenever code ;-) I never thought I would care)
There is a Whenever code that even takes user input. Doesn't make sense.
Actually even the syntax is wrong since there should be a comma between multiple commands. It is missing after the print statements in lines 2,5,7,8.
Since the order of Whenever code lines being executed is arbitrary the result is purely hypothetical.
Also this program will end up in an endless loop, hence it will never end.
<discussion moved to the comment below>
I'd say that the INTERCAL program is wrong and unsolveable.
A -> B -> jump to (2) put current line on stack -> jump to (3) put current line on stack -> variable 5 is not defined, hence error 621 "RESUME statement evaluated to 0"
If you take the "DO RESUME .5" as a condition then the third solution is correct.
Still I think this should be fixed or annotated.
For anybody who wants to play around with this can use the code at the end of the post
https://www.tutorialspoint.com/compile_intercal_online.php
The description has been updated with some details about (my use of) these two languages - I may incorporate the info in-game if you find it helpful.
Definitely put something at the level for INTERCAL that the .5 variable should be interpreted in your way. Otherwise there is no way to know.
Regarding Whenever you need to explain how the read() should be interpreted and please make a comma, so the syntax is correct.
Also it would need to be stated how to interpret the order of execution, since Whenever does not guarantee the order. Otherwise the sequence could as well start with "D E" or "F". For what it is worth the complete sequence could even be "F A B". Though with defining the order it would take all the fun of Whenever.
(That's the main reason I really dislike this level. I doesn't give you a fair chance.)
Also, regardless of the start, the way it is now your code will end up in an endless loop with line 6 being executed forever. (Line 3 actually has chance to be completely removed from the todo list.) So none of the solutions is correct for end is never reached. This can be easily fixed the same way as it is done for line 3.
I guess you will have to come up with some other code to make this work.
Are you overlooking the effect of "defer"? AFAICT in your screenshot execution order is deterministic up to conditions, and the program terminates successfully (i.e. with empty "to-do list").
Anyway the hints are now available in-game, and I've also placed print() statements on separate lines (the spec, while being somewhat loose, doesn't allow both print() and lines specifications on the same line).
"... A Whenever program is executed by a language interpreter ... . It takes the program code and treats each line as an item in a to-do list. The interpreter chooses an item from the list at random, with equal probability, to execute, and executes the statement. ..."
https://www.dangermouse.net/esoteric/whenever.html
Heh, the practice of reading language specs selectively. You're in good company, that has failed me more than once...