PlayChallenges
Write it. Run it. Have it checked.
Small tasks in brainfuck, from two commands to a few hundred. You write the program in the page, watch it run on a machine, and the page checks it against several cases, the awkward ones included.
Start: challenge 1 Never written brainfuck? Do the Basics first: ten short lessons, step 1 of the path.
Projects
Open-ended: no single answer, a checklist, and nothing is checked for you.How the checking works
- YouYour programTyped in the page. Comments are free.
- The pageRuns it on every caseThe examples you see, and hidden cases for the edges. At most 5 million steps per case and 5 seconds in all.
- The result ✓ Every case passesSolved. Its commands and its steps are counted. ✗ A case failsYou get its input, what was expected and what was printed, side by side.
Checking. Your program is run on every case of a challenge (Figure 1): the examples you see, and hidden cases for the edges, such as an empty input or the largest value a cell can hold. When a case fails you get its input, what was expected and what your program printed, side by side, and you can step through that case on the machine.
It cannot hang. Programs run apart from the page, with a limit of 5 million steps per case and 5 seconds in all. A loop that never ends is stopped and you are told which case it was.
Scoring, if you want it. A solved challenge counts its commands (comments are free) and its steps. Your best of each is kept. Bronze, silver and gold are lengths to beat; gold is the shortest program we have, and every target was reached by a program that is stored with the challenge and run by our test.
What all this adds up to. The chat model on the front page of this site is one brainfuck program, made of the same eight commands as your answers here.
Your progress
Kept in this browser only: which steps of the Basics and which challenges you did, your shortest and fastest solution per challenge, how many hints you opened, the last program you typed for each challenge, and the ticks of the projects. Nothing is sent anywhere. There are no accounts and nothing is tracked.