I'm working on a game in Pygame and trying to refine the mouse interaction mechanics. I want to allow players to select only one block at a time. For instance, if a player selects the black block, they shouldn't be able to select any other block until they deselect the black block. I've been stuck on this for a couple of hours and could use some guidance. Below is a snippet of my code that's causing the issue:
```python
suspectDict = {Suspects(50, 85, 40, 60, "black", 5): "I am a black box",
Suspects(100, 85, 40, 60, "blue", 5): "I am a blue box",
Suspects(150, 85, 40, 60, "white", 5): "I am a white box"}
if event.type == pygame.MOUSEBUTTONDOWN:
mouse = pygame.mouse.get_pos()
for sprite, value in suspectDict.items():
if sprite.set_rect.collidepoint(event.pos):
if sprite.border == 0:
sprite.border = 5
else:
sprite.border = 0
print(value)
# RENDER GAME HERE
for i in suspectDict:
i.drawSquare(screen)
```
I've also linked a video showing the issue: [Video Showcase](https://imgur.com/a/RPtM0iR)
1 Answer
It sounds like you need to manage the state of your selected blocks more effectively. You should track which block is currently selected using a variable. If a block is already selected, you can ignore any new clicks until that block is deselected. Think about implementing something similar to how radio buttons work, where only one can be selected at a time. This will simplify your conditionals a lot!

Can you explain more about how using radio buttons would work in this context?