why nothing happened when i clicked on rectangles in pygame? this is the instruction:"Task 3: Selec�ng a tree
In this task, you will implement:
• TMTree.get\_tree\_at\_position
The first step to making our treemap interactive is to allow the user to select a node in the tree. To
do this, complete the body of the get\_tree\_at\_position method. This method takes a position on
the display and returns the displayed-tree leaf corresponding to that position in the treemap.
IMPORTANT: Ties should be broken by choosing the rectangle on the left for a vertical boundary,
or the rectangle above for a horizontal boundary. That is, you should return the first leaf of the
displayed-tree that contains the position, when traversing the tree in the natural order.
In the visualizer, the user can click on a rectangle to select it. The text display updates to show
two things:
• the selected leaf’s path string returned by the get\_path\_string method.
• the selected leaf’s data\_size
A2 — Treemaps: CSC148H1S 20231 (All Sections): Int... https://q.utoronto.ca/courses/292974/pages/a2-treemaps
7 of 15 3/23/23, 16:12
Clicking on the same rectangle again unselects it. Clicking on a different rectangle selects that
one instead.
Reminder: Each rectangle corresponds to a leaf of the displayed-tree, so we can only select
leaves of the displayed-tree.
Progress check!
Try running the program and then click on a rectangle on the display. You should see the
information for that displayed-tree leaf shown at the bottom of the screen, and a box appear
around the selected rectangle. Click again to unselect that rectangle, and try selecting another
one. Note that you will also see a thinner box appear around any rectangle that you hover over in
the display.
For the worksheet example, it should look something like the below, if you have selected rectangle
“d” and are not hovering over any rectangle:
Note: As you run the visualizer, you will see output in the python console in PyCharm. This output
is to help you see what events are being executed. You may find this information useful when
debugging your code. Feel free to modify anything that is being printed in treemap\_visualiser.py if
you find it helpful to do so.
", and this is the code:" def get\_tree\_at\_position(self, pos: tuple[int, int]) -> Optional[TMTree]:
 """
 Return the leaf in the displayed-tree rooted at this tree whose
 rectangle contains position , or None if is outside this
 tree's rectangle.

 If is on the shared edge between two rectangles, return the
 tree represented by the rectangle that is first encountered when
 traversing the TMTree in the natural order.

 Preconditions:
 update\_rectangles has previously been called on the root of the tree
 that self is part of.

 self is part of the displayed-tree.

 >>> t1 = TMTree('B', [], 5)
 >>> t2 = TMTree('A', [t1], 1)
 >>> t2.update\_rectangles((0, 0, 100, 200))
 >>> t1.get\_tree\_at\_position((10, 10)) is t1
 True
 >>> t2.get\_tree\_at\_position((10, 10)) is t1
 True
 >>> t2.get\_tree\_at\_position((500, 500)) is None
 True
 >>> s1 = TMTree('C1', [], 5)
 >>> s2 = TMTree('C2', [], 15)
 >>> t3 = TMTree('C', [s1, s2], 1)
 >>> t3.update\_rectangles((0, 0, 100, 200))
 >>> t3.get\_tree\_at\_position((0, 0)) is s1
 True
 >>> t3.get\_tree\_at\_position((100, 100)) is s2
 True
 """
 # TODO: (Task 3) Implement this method
 if self.\_subtrees == []:
 if self.rect[0] <= pos[0] <= self.rect[0] + self.rect[2] and self.rect[1] <= pos[1] <= self.rect[1] + self.rect[3]:
 return self
 else:
 return None"
파이게임에서 직사각형을 클릭했을 때 아무 일도 일어나지 않나요?"작업 3: 나무 선택하기"라는 지침이 있습니다.이 작업에서는 구현할 것입니다:- TMTree.get\_tree\_at\_position트리맵을 인터랙티브하게 만들기 위한 첫 번째 단계는 사용자가 트리에서 노드를 선택할 수 있도록 하는 것입니다. Toget\_tree\_at\_position 메서드의 본문을 완성합니다. 이 메서드는 디스플레이의위치를 가져와 트리맵에서 해당 위치에 해당하는 표시된 트리 리프를 반환합니다.중요: 수직 경계는 왼쪽의 사각형을 선택하고, 수평 경계는 위의 사각형을 선택하여 동점을 끊어야 합니다,또는 가로 경계의 경우 위의 사각형을 선택하여 동점을 끊어야 합니다. 즉, 위치를 포함하는 트리의 첫 번째 리프인표시된 트리의 첫 번째 잎을 반환해야 합니다(자연스러운 순서로 트리를 횡단할 때).비주얼라이저에서 사용자는 사각형을 클릭하여 선택할 수 있습니다. 텍스트 디스플레이가 업데이트되어 다음을 표시합니다.두 가지가 표시됩니다:- 선택한 잎의 경로 문자열은 get\_path\_string 메서드에 의해 반환됩니다.- 선택한 리프의 데이터\_sizeA2 - 트리맵: CSC148H1S 20231(모든 섹션): Int... https://q.utoronto.ca/courses/292974/pages/a2-treemaps7 of 15 3/23/23, 16:12같은 사각형을 다시 클릭하면 선택이 해제됩니다. 다른 사각형을 클릭하면 해당 사각형이 선택됩니다.하나를 선택합니다.참고: 각 사각형은 표시된 트리의 잎에 해당하므로 표시된 트리의 잎만잎만 선택할 수 있습니다.진행 상황 확인!프로그램을 실행한 다음 디스플레이에서 사각형을 클릭해 보세요. 표시된 트리의 잎에 대한표시된 트리의 잎에 대한 정보가 화면 하단에 표시되고 선택한 사각형 주위에 상자가상자가 나타납니다. 다시 클릭하여 해당 사각형을 선택 해제하고 다른 사각형을 선택해 보세요.하나. 또한 마우스를 가져간 사각형 주위에 더 얇은 상자가 나타나는 것을 볼 수 있습니다.표시되는 것을 볼 수 있습니다.워크시트 예제에서 직사각형을 선택한 경우 아래 그림과 같이 표시되어야 합니다."d"를 선택하고 직사각형 위에 마우스오버하지 않은 경우 아래와 같이 표시됩니다:참고: 비주얼라이저를 실행하면 PyCharm의 파이썬 콘솔에 출력이 표시됩니다. 이 출력은 어떤 이벤트가 실행되고 있는지 확인하는 데 도움이 됩니다. 이 정보는 다음과 같은 경우에 유용할 수 있습니다.코드를 디버깅할 때. 도움이 된다면 treemap\_visualiser.py에 출력되는 내용을 자유롭게 수정할 수 있습니다.에 출력되는 내용을 자유롭게 수정할 수 있습니다."", 코드는 다음과 같습니다." def get\_tree\_at\_position(self, pos: tuple[int, int]) -> Optional[TMTree]: """ 이 트리에 뿌리를 둔 표시된 트리의 잎을 반환합니다. 직사각형에 위치 , 또는 이 트리의 직사각형 밖에 있으면 None을 반환합니다. 를 반환합니다. 가 두 직사각형 사이의 공유 가장자리에 있으면, 그 직사각형으로 표현되는 트리를 반환합니다. 를 자연 순서로 순회할 때 처음 만나는 사각형으로 표현되는 트리를 반환합니다. 전제 조건: 자기가 속한 트리의 루트에서 update\_rectangles가 이전에 호출되었습니다. 에서 이전에 호출된 적이 있어야 합니다. self는 표시된 트리의 일부입니다. >>> t1 = TMTree('B', [], 5) >>> t2 = TMTree('A', [t1], 1) >>> t2.update\_rectangles((0, 0, 100, 200)) >>> t1.get\_tree\_at\_position((10, 10)) is t1 True >>> t2.get\_tree\_at\_position((10, 10)) is t1 Tru