def solve_maze(sprite): # Your code goes here ################################################ # This code sets up the maze and calls solve_maze. codesters.Rectangle(0, 247, 500, 5, "blue") codesters.Rectangle(-247, 0, 5, 500 - 5, "blue") codesters.Rectangle(-225, 200, 50, 5, "blue") codesters.Rectangle(-175, 200, 50, 5, "blue") codesters.Rectangle(-125, 200, 50, 5, "blue") codesters.Rectangle(-50, 225, 5, 50, "blue") codesters.Rectangle(25, 200, 50, 5, "blue") codesters.Rectangle(100, 225, 5, 50, "blue") codesters.Rectangle(200, 225, 5, 50, "blue") codesters.Rectangle(250, 225, 5, 50, "blue") codesters.Rectangle(-200, 175, 5, 50, "blue") codesters.Rectangle(-125, 150, 50, 5, "blue") codesters.Rectangle(-50, 175, 5, 50, "blue") codesters.Rectangle(-75, 150, 50, 5, "blue") codesters.Rectangle(0, 175, 5, 50, "blue") codesters.Rectangle(25, 150, 50, 5, "blue") codesters.Rectangle(75, 150, 50, 5, "blue") codesters.Rectangle(150, 175, 5, 50, "blue") codesters.Rectangle(125, 150, 50, 5, "blue") codesters.Rectangle(175, 150, 50, 5, "blue") codesters.Rectangle(250, 175, 5, 50, "blue") codesters.Rectangle(225, 150, 50, 5, "blue") codesters.Rectangle(-150, 125, 5, 50, "blue") codesters.Rectangle(-175, 100, 50, 5, "blue") codesters.Rectangle(-125, 100, 50, 5, "blue") codesters.Rectangle(-25, 100, 50, 5, "blue") codesters.Rectangle(25, 100, 50, 5, "blue") codesters.Rectangle(100, 125, 5, 50, "blue") codesters.Rectangle(175, 100, 50, 5, "blue") codesters.Rectangle(250, 125, 5, 50, "blue") codesters.Rectangle(-200, 75, 5, 50, "blue") codesters.Rectangle(-100, 75, 5, 50, "blue") codesters.Rectangle(-50, 75, 5, 50, "blue") codesters.Rectangle(-75, 50, 50, 5, "blue") codesters.Rectangle(50, 75, 5, 50, "blue") codesters.Rectangle(100, 75, 5, 50, "blue") codesters.Rectangle(150, 75, 5, 50, "blue") codesters.Rectangle(200, 75, 5, 50, "blue") codesters.Rectangle(250, 75, 5, 50, "blue") codesters.Rectangle(-225, 0, 50, 5, "blue") codesters.Rectangle(-150, 25, 5, 50, "blue") codesters.Rectangle(-175, 0, 50, 5, "blue") codesters.Rectangle(-125, 0, 50, 5, "blue") codesters.Rectangle(-50, 25, 5, 50, "blue") codesters.Rectangle(0, 25, 5, 50, "blue") codesters.Rectangle(25, 0, 50, 5, "blue") codesters.Rectangle(100, 25, 5, 50, "blue") codesters.Rectangle(150, 25, 5, 50, "blue") codesters.Rectangle(200, 25, 5, 50, "blue") codesters.Rectangle(250, 25, 5, 50, "blue") codesters.Rectangle(-100, -25, 5, 50, "blue") codesters.Rectangle(-125, -50, 50, 5, "blue") codesters.Rectangle(-50, -25, 5, 50, "blue") codesters.Rectangle(50, -25, 5, 50, "blue") codesters.Rectangle(100, -25, 5, 50, "blue") codesters.Rectangle(75, -50, 50, 5, "blue") codesters.Rectangle(150, -25, 5, 50, "blue") codesters.Rectangle(200, -25, 5, 50, "blue") codesters.Rectangle(250, -25, 5, 50, "blue") codesters.Rectangle(-200, -75, 5, 50, "blue") codesters.Rectangle(-175, -100, 50, 5, "blue") codesters.Rectangle(-125, -100, 50, 5, "blue") codesters.Rectangle(-50, -75, 5, 50, "blue") codesters.Rectangle(-75, -100, 50, 5, "blue") codesters.Rectangle(0, -75, 5, 50, "blue") codesters.Rectangle(25, -100, 50, 5, "blue") codesters.Rectangle(75, -100, 50, 5, "blue") codesters.Rectangle(125, -100, 50, 5, "blue") codesters.Rectangle(200, -75, 5, 50, "blue") codesters.Rectangle(175, -100, 50, 5, "blue") codesters.Rectangle(250, -75, 5, 50, "blue") codesters.Rectangle(-200, -125, 5, 50, "blue") codesters.Rectangle(-100, -125, 5, 50, "blue") codesters.Rectangle(-25, -150, 50, 5, "blue") codesters.Rectangle(50, -125, 5, 50, "blue") codesters.Rectangle(25, -150, 50, 5, "blue") codesters.Rectangle(125, -150, 50, 5, "blue") codesters.Rectangle(175, -150, 50, 5, "blue") codesters.Rectangle(250, -125, 5, 50, "blue") codesters.Rectangle(-225, -200, 50, 5, "blue") codesters.Rectangle(-150, -175, 5, 50, "blue") codesters.Rectangle(-175, -200, 50, 5, "blue") codesters.Rectangle(-100, -175, 5, 50, "blue") codesters.Rectangle(-75, -200, 50, 5, "blue") codesters.Rectangle(0, -175, 5, 50, "blue") codesters.Rectangle(-25, -200, 50, 5, "blue") codesters.Rectangle(100, -175, 5, 50, "blue") codesters.Rectangle(75, -200, 50, 5, "blue") codesters.Rectangle(150, -175, 5, 50, "blue") codesters.Rectangle(250, -175, 5, 50, "blue") codesters.Rectangle(225, -200, 50, 5, "blue") codesters.Rectangle(-225, -250, 50, 5, "blue") codesters.Rectangle(-175, -250, 50, 5, "blue") codesters.Rectangle(-125, -250, 50, 5, "blue") codesters.Rectangle(-75, -250, 50, 5, "blue") codesters.Rectangle(-25, -250, 50, 5, "blue") codesters.Rectangle(50, -225, 5, 50, "blue") codesters.Rectangle(25, -250, 50, 5, "blue") codesters.Rectangle(75, -250, 50, 5, "blue") codesters.Rectangle(125, -250, 50, 5, "blue") codesters.Rectangle(175, -250, 50, 5, "blue") codesters.Rectangle(225, -250, 50, 5, "blue") sprite = codesters.Sprite("robot", -222, 225) sprite.set_size(.3) score = 50 goals = set() def add_goal(name, x, y, size): goal = codesters.Sprite(name, x, y) goal.set_size(size) goals.add(goal) add_goal("candy", -225, -225, .3) add_goal("present1", 225, 225, .3), add_goal("treasurechest", 225, -225, .2) def done(): codesters.Rectangle(0, -100, 200, 50, 'white') codesters.Text("Score = %d" % score, 0, -100, 'blue') def collision(sprite, hit_sprite): global score if hit_sprite.get_name() == "treasurechest": codesters.Rectangle(0, 0, 250, 50, 'white') codesters.Text("You Found the Treasure!", 0, 0, "green") score += 100 done() elif hit_sprite in goals: score += 10 hit_sprite.hide() else: sprite.event_collision(lambda: None) sprite.turn_left(270) sprite.hide() codesters.Rectangle(0, 0, 200, 50, 'white') codesters.Text("You hit a wall", 0, 0, "red") score += -30 done() sprite.event_collision(collision) class ScoreableSprite: def __init__(self, sprite): self._sprite = sprite def move_right(self, n): global score score -= 1 self._sprite.move_right(n * 50) def move_left(self, n): global score score -= 1 self._sprite.move_left(n * 50) def move_up(self, n): global score score -= 1 self._sprite.move_up(n * 50) def move_down(self, n): global score score -= 1 self._sprite.move_down(n * 50) solve_maze(ScoreableSprite(sprite)) done()
  • Run Code
  • Show Console
  • Codesters How To (opens in a new tab)