BKMbigo / solitaire-compose

A simple solitaire card game
https://bkmbigo.github.io/solitaire-compose/
11 stars 0 forks source link

Klondike: Scoring #9

Closed BKMbigo closed 10 months ago

BKMbigo commented 1 year ago

Implementation of a scoring system for the Klondike game: Ideally, the scoring system should:

BKMbigo commented 10 months ago

This issue was solved by an experimental scoring system in fad76aaf64f95ff16ab58d05bc065cd7769537d5

The proposed scoring system includes the following score mechanism:

  1. OutcomePoints -> Awards points for overall outcome of the game: i) If a win: a) VeryEasy (+600 points) b) Random (+1500 points) ii) If draw: a) VeryEasy (0 points) b) Random (+600 points)

  2. GameInitializationPoints -> i) VeryEasy (+150 points) ii) Random (+300 points)

  3. GamePoints -> Awards a point for: i) Revealing a Card (+80 points) ii) Moving a card towards the foundation (+150 points)

  4. HintDeductionPoints -> Deducts points for every hint provided (-10 points)

  5. MovePoints -> Awards points for every move made i) Under 5 seconds (+40 points) ii) Under 30 seconds (+20 points) iii) Under 1 minute (+10 points) iv) Over 1 minute (+5 points)

       If move is from foundation, deduct points according to (3)
  6. FromDeckPoints -> Awards points for freeing cards from the deck If configuration is ThreeCardsPerDeal -> FirstCard (+10 points) SecondCard (+20 points) ThirdCard (+40 points) else OneCardPerDeal -> FirstCard (+10 points)

  7. UndoDeductionPoints -> Deducts points for an undo move (-30 points) if the undo, reverses a move that is awarded by (3 or 6), the system should deduct the points already awarded

  8. RedoDeductionPoints -> Deducts points for a redo operation (-30 points)

  9. GameTimePenaltyPoints -> Deducts points for overall game time i) 3 minutes (-250 points) ii) 7 minutes (-500 points) iii) 10 minutes (-750 points) iv) 20 minutes (-1000 points)