Skip to content

Commit d36f8c4

Browse files
committed
solitaire: Fix end animation offscreen bug.
1 parent a54970a commit d36f8c4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

solitaire/solitaire.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,17 +638,18 @@ def win_animation(self):
638638
if drop.cards:
639639
card = drop.cards.pop()
640640
if card.vector is None:
641-
card.vector = QPoint(-random.randint(1, 10), 0)
641+
card.vector = QPoint(-random.randint(3, 10), -random.randint(0, 10))
642642
break
643643

644644
for card in self.deck:
645645
if card.vector is not None:
646646
card.setPos(card.pos() + card.vector)
647647
card.vector += QPoint(0, 1) # Gravity
648-
649648
if card.pos().y() > WINDOW_SIZE[1] - CARD_DIMENSIONS.height():
650649
# Bounce the card, losing some energy.
651-
card.vector = QPoint(card.vector.x(), -int(card.vector.y() * BOUNCE_ENERGY) )
650+
card.vector = QPoint(card.vector.x(), -max(1, int(card.vector.y() * BOUNCE_ENERGY)) )
651+
# Bump back up to base of screen.
652+
card.setPos(card.pos().x(), WINDOW_SIZE[1] - CARD_DIMENSIONS.height())
652653

653654
if card.pos().x() < - CARD_DIMENSIONS.width():
654655
card.vector = None

0 commit comments

Comments
 (0)