HiveBrain v1.2.0
Get Started
← Back to all entries
patternpythonModerate

JediScript - May the 4th be with you

Submitted by: @import:stackexchange-codereview··
0
Viewed 0 times
themayyouwithjediscript4th

Problem

In honor of Star Wars day, I've put together this small Python program I'm calling JediScript. JediScript is essentially a scrapped-down version of BrainFuck without input or looping. Here are the commands in JediScript.

  • SlashWithSaber: Move forward on the tape.



  • ParryBladeWithSaber: Move backward on the tape.



  • StabWithSaber: Increment a cell.



  • BlockBladeWithSaber: Decrement cell.



  • UseForceWithHands: Output the current cell.



Each command is semicolon ; separated, like so: StabWithSaber;UseForceWithHands. Here's an example input. This will output the character p.

```
StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSaber;StabWithSabe

Solution


  • Why do you allow each cell of the tape to hold numbers from -1 to 128? seems like an odd range.



  • in move_backward() why do you allow the tape to reach position -1?



  • in move_forward() why do you allow the tape's position to be beyond the end of the tape?



  • In general you should be using exclusive comparisons (without the =) as you'll make fewer mistakes.

Context

StackExchange Code Review Q#88783, answer score: 11

Revisions (0)

No revisions yet.