Bit Reference

We'll use the simple "bit" robot for our first examples as an on-ramp for Python functions.

The simple "bit" robot exists in a rectangular world made of little squares. Each square in bit's world can be painted one of 'red' 'green' or 'blue' or left unpainted white. The black squares are solid, and bit can't move there. The various bit functions below are provided by CS106AP, your code just calls them.

The bit robot can take a few actions in the world - each action corresponds to a Python "function" that performs that action.

Here is a picture of bit at the upper left of a world, before taking some actions:

alt bit in empty world

If bit then does these actions:

bit.move()
bit.paint('blue')
bit.right()
bit.move()
bit.paint('green')

Then the world will look like this:

alt: bit in world with 2 squares painted

Bit Functions

As a practical matter, bit code is inside functions like this:
show go() function and before/after bit world

Bit From Filename

Your code is shielded from the details, but a bit world is stored in a plain text file with a name like '5x5.world' or 'super-spiral.world'.

The function "Bit" (uppercase 'B') is a function which takes a filename parameter (e.g. '5x5.world'), reads the rectangular world into memory with a bit in it, and returns a reference to the bit. A bit always exists within the context of a specific world in this way.

So your code can create a bit in, say, a world named '5x5.world' like this:

  bit = Bit('5x5.world')

More often the first line in a function looks like this:

def do_something(filename):
    bit = Bit(filename)
    bit.move()
    ...

The filename is passed in as a parameter, e.g. '5x5.world', and the first line creates bit from the that filename and then goes ahead.