From 64ea9cf1d135bf3313aeeb7c1aaacdf407266e2c Mon Sep 17 00:00:00 2001 From: Ruhi Jain Date: Thu, 17 Jul 2025 12:36:02 +0530 Subject: [PATCH] feat: add hover effect to 'Play Again' button --- .../__pycache__/tictactoe.cpython-312.pyc | Bin 0 -> 6044 bytes tictactoe/runner.py | 21 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 tictactoe/__pycache__/tictactoe.cpython-312.pyc diff --git a/tictactoe/__pycache__/tictactoe.cpython-312.pyc b/tictactoe/__pycache__/tictactoe.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f1c2d2fef43833c5bff74808dadea177ef4ab2a5 GIT binary patch literal 6044 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 L0&^F(unqnPOz;r4 literal 0 HcmV?d00001 diff --git a/tictactoe/runner.py b/tictactoe/runner.py index 2449ef3..4b43c3a 100644 --- a/tictactoe/runner.py +++ b/tictactoe/runner.py @@ -9,6 +9,7 @@ #Define Colors size = width, height = 600, 400 + # Colors black = (0, 0, 0) white = (255, 255, 255) @@ -136,13 +137,27 @@ if game_over: againButton = pygame.Rect(width / 3, height - 65, width / 3, 50) - again = mediumFont.render("Play Again", True, black) + + # Get mouse position + mouse = pygame.mouse.get_pos() + hovering = againButton.collidepoint(mouse) + + # Hover effect: use a different color if mouse is over the button + button_color = (30, 41, 59) if hovering else (255, 255, 255) # dark blue if hover, else white + text_color = (255, 255, 255) if hovering else (0, 0, 0) # text changes too + + + # Draw the button with dynamic color + pygame.draw.rect(screen, button_color, againButton) + + # Draw the text + again = mediumFont.render("Play Again", True, text_color) againRect = again.get_rect() againRect.center = againButton.center - pygame.draw.rect(screen, white, againButton) screen.blit(again, againRect) + click, _, _ = pygame.mouse.get_pressed() - if click == 1: + if click == 1 and hovering: mouse = pygame.mouse.get_pos() if againButton.collidepoint(mouse): time.sleep(0.2)