To start this assignment, download this zip file.
The following guide pages cover material needed for this assignment:
Homework 2a — If
1. Invert
Bit needs to turn blue squares white, and turn white squares blue. For example, if Bit starts in this world:
then the final world needs to look like this:
To check if a square is empty, use:
bit.is_on_white()
To erase the color in any square, use:
bit.paint('white')
Use the starter code in invert.py
to write your code.
Be sure to check all three worlds! You will also see a world called invert2
:
and a world called invert-careful
. Note that the red squares are not converted, but white squares are turned to blue:
2. Wander
Bit starts in this world:
Bit follows these rules:
- Bit moves until it’s blocked in front
- Bit turns left when encountering a green square
- Bit turns right when encountering a blue square
- Bit paints empty squares red
The final world should look like this:
Use the starter code in wander.py
to write your code.
Be sure to check both worlds! You will see a second world called wander2
:
3. Fix the pipe
Bit is inside of a pipe and wants to patch the holes. The starting world looks like this:
Bit patches the holes with blue sealant. So when Bit is finished, the world should look like this:
Use the starter code in fix_pipe.py
to write your code.
Grading
Activity | Points |
---|---|
invert.py | 5 |
wander.py | 5 |
fix_pipe.py | 10 |
Manual Grading
Refer to the Quality Code guide page for detailed explanations and examples on each of these rubric criteria.
Intent
The intent of this assignment is for you to correctly use if-else statements.
You should not have if and else branches that do the same thing.
We do not expect you to use concepts like or
, and
, or break
.
Do not use while-else. Simply write code after/outside the while loop.
Rubric | Points |
---|---|
Whitespace | 1 |
Naming | 1 |
Decomposition | 4 |
Intent | 4 |
Total | 10 |