Inspiration

This project was based off a joke made in a Dilbert comic. The characters in the comic spoke of the old days in which they were forced to program in only zeros. https://pbs.twimg.com/media/CQSAigKWUAA5rVI.png

What it does

This programming language can run programs that use only zeros. The language is based off of a stack. Different numbers of zeros signify different commands to manipulate or print out from the stack.

How we built it

Regular expressions were used to parse out only consecutive zeros or zeros followed by non-zero numbers. Each group is converted into an operation code, which is then passed to the interpreter. The interpreter matches all the pairs of loop operations, and then runs each command in the array passed to it.

Challenges we ran into

Creating functioning loops was a challenge. The biggest issue was figuring out how to correctly match loop starts and loop ends. The final algorithm for loops required multiple hours of work. There were also issues with implementing branching conditionals, which ran off of simple comparisons and loops.

Accomplishments that we're proud of

We managed to make a basic Pokemon battle simulator using Wally. This program was complete with flavor text, attack options with different damage and accuracy values, and randomized opponent damage.

What we learned

We learned a lot when coming up with the algorithm to match the loop items. We learned how to represent boolean combinations without explicit and and or operators as well as how to nest branching conditionals using our loop algorithms.

What's next for Wally

Wally could be optimized rearranging command values so that the operations that are most commonly used are represented by a smaller number of zeros.

Built With

Share this project:

Updates