docs: def draw_rect(self, pos, size, color, fillcolor=None):
          """
          Draw a rectangle with the given color on the screen and optionally fill it with fillcolor.
  
          :param pos: Top left corner of the rectangle
          :param size: Sieze of the rectangle
          :param color: Color for borders
          :param fillcolor: Color for infill
          :type pos: tuple
          :type size: tuple
          :type color: tuple
          :type fillcolor: tuple
          """
          # draw top and botton line
          for x in range(size[0]):
              self.draw_dot((pos[0] + x, pos[1]), color)
              self.draw_dot((pos[0] + x, pos[1] + size[1] - 1), color)
          # draw left and right side
          for y in range(size[1]):
              self.draw_dot((pos[0], pos[1] + y), color)
              self.draw_dot((pos[0] + size[0] - 1, pos[1] + y), color)
          # draw filled rect
          if fillcolor and size[0] >= 3 and size[1] >= 3:
              for x in range(size[0] - 2):
                  for y in range(size[1] - 2):
                      self.draw_dot((pos[0] + 1 + x, pos[1] + 1 + y), fillcolor)