text: from gpiozero import Button, Robot
  from time import sleep
  from signal import pause
  
  robot = Robot((17, 18), (22, 23))
  
  left = Button(2)
  right = Button(3)
  forward = Button(4)
  backward = Button(5)
  go = Button(6)
  
  instructions = []
  
  def add_instruction(btn):
      instructions.append({
          left:     (-1, 1),
          right:    (1, -1),
          forward:  (1, 1),
          backward: (-1, -1),
      }[btn])
  
  def do_instructions():
      instructions.append((0, 0))
      robot.source_delay = 0.5
      robot.source = instructions
      sleep(robot.source_delay * len(instructions))
      del instructions[:]
  
  go.when_pressed = do_instructions
  for button in (left, right, forward, backward):
      button.when_pressed = add_instruction
  
  pause()
  