Karel has gotten really into board games lately. Karel wants to build a checkerboard so that he can play board games with the other dogs. Write a program that has Karel paint a checkerboard. You can assume that the world will always have 8 rows and 8 columns. HINT: Rather than typing out every single move and paint command, think about how you can break this problem down into smaller problems that are repeated. What functions could you write that would make this problem easier to solve? Note: Be sure to include comments for all functions that you use or create.
World: Checkerboard Karel’s Karel World
Starting World
Ending World
To help Karel paint a checkerboard, we can break the task down into smaller problems. We can create functions that allow Karel to paint a single row of the checkerboard and switch directions after each row to paint the next. Here’s a simple program in Karel’s programming language:
# Function to paint a single row of the checkerboard
def paint_row(start_color):
if start_color == "black":
paint_square("black")
paint_square("white")
paint_square("black")
paint_square("white")
paint_square("black")
paint_square("white")
paint_square("black")
paint_square("white")
else: # start with white
paint_square("white")
paint_square("black")
paint_square("white")
paint_square("black")
paint_square("white")
paint_square("black")
paint_square("white")
paint_square("black")
# Function to paint a square of the checkerboard
def paint_square(color):
if color == "black":
paint() # Paint the square black
else:
# Move Karel without painting to the next square (assumed white)
pass
move() # Move to the next square
# Main function to paint the full checkerboard
def paint_checkerboard():
for row in range(8): # Loop through each row
if row % 2 == 0: