From fdb157b35842caadd7c5ef0d565ece1e41487f2b Mon Sep 17 00:00:00 2001 From: Oliver Stingl Date: Mon, 4 May 2020 01:30:01 +0200 Subject: [PATCH] Refactoring, implements flip-functionality, improve naming. --- js/Card.js | 20 +++++++++++++++++++- js/CardDeck.js | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/js/Card.js b/js/Card.js index 88eeff5..0e2478b 100644 --- a/js/Card.js +++ b/js/Card.js @@ -2,7 +2,9 @@ class Card { color; symbol; points; + facingDown = false; assetUrl; + backAssetUrl; constructor(color, symbol, points, assetBaseUrl = 'img/') { this.color = color; @@ -15,7 +17,23 @@ class Card { return assetBaseUrl + this.color + this.symbol + '.png' } - cardIsAnAce() { + isAnAce() { return this.symbol === 'a'; } + + flip() { + this.facingDown = !this.facingDown; + } + + isFacingDown() { + return this.facingDown; + } + + get assetUrl() { + if (this.isFacingDown()) { + return this.backAssetUrl; + } + + return this.assetUrl; + } } diff --git a/js/CardDeck.js b/js/CardDeck.js index 389eefc..332780a 100644 --- a/js/CardDeck.js +++ b/js/CardDeck.js @@ -1,9 +1,9 @@ class CardDeck { cardBack; - constructor() { + constructor(cardBack = 'img/cardBack_red5.png') { this.generateDeck(); - this.cardBack = 'img/cardBack_red5.png'; + this.cardBack = cardBack; } create() {