Skip to content

Commit 95bd3d0

Browse files
committed
Card game tweaks
1 parent 8553404 commit 95bd3d0

File tree

4 files changed

+34
-23
lines changed

4 files changed

+34
-23
lines changed

src/week3/cards-web/Card.js

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
'use strict';
22
{
3-
const CARD_TEMPLATE = `
3+
const getCardHtml = (rank, symbol) => `
44
<div class='card-row row-top'>
5-
<div>
6-
<div class="card-rank">__rank__</div>
7-
<div class="card-symbol">__suit__</div>
5+
<div class="card-text">
6+
<div>${rank}</div>
7+
<div class="card-symbol">${symbol}</div>
88
</div>
9-
<div>
10-
<div class="card-rank">__rank__</div>
11-
<div class="card-symbol">__suit__</div>
9+
<div class="card-text">
10+
<div>${rank}</div>
11+
<div class="card-symbol">${symbol}</div>
1212
</div>
1313
</div>
1414
<div class='card-row row-bottom'>
15-
<div>
16-
<div class="card-rank">__rank__</div>
17-
<div class="card-symbol">__suit__</div>
15+
<div class="card-text">
16+
<div>${rank}</div>
17+
<div class="card-symbol">${symbol}</div>
1818
</div>
19-
<div>
20-
<div class="card-rank">__rank__</div>
21-
<div class="card-symbol">__suit__</div>
19+
<div class="card-text">
20+
<div>${rank}</div>
21+
<div class="card-symbol">${symbol}</div>
2222
</div>
2323
</div>`;
2424

@@ -34,10 +34,7 @@
3434
class: 'card-container',
3535
style: `color: ${this.color}`
3636
});
37-
38-
cardContainer.innerHTML = CARD_TEMPLATE
39-
.replace(/__rank__/g, this.rank)
40-
.replace(/__suit__/g, this.symbol);
37+
cardContainer.innerHTML = getCardHtml(this.rank, this.symbol);
4138
}
4239
}
4340

src/week3/cards-web/CardDeck.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525

2626
deal(container, count) {
2727
if (this.canDeal(count)) {
28-
const dealContainer = window.createAndAppend('div', container, { class: 'deal-container' });
28+
const dealContainer = window.createAndAppend('div', container, {
29+
class: 'deal-container'
30+
});
2931
const cards = this.cards.splice(0, count);
3032
cards.forEach(card => card.render(dealContainer));
3133
}

src/week3/cards-web/CardGame.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232
this.dealButton.addEventListener('click', () => this.deal(DEAL_COUNT));
3333
this.updateDealLabel();
3434

35-
const shuffleButton = window.createAndAppend('button', toolbar, {
35+
const newGameButton = window.createAndAppend('button', toolbar, {
3636
class: 'button',
37-
text: 'SHUFFLE'
37+
text: 'NEW GAME'
3838
});
39-
shuffleButton.addEventListener('click', () => this.shuffle());
39+
newGameButton.addEventListener('click', () => this.newGame());
4040
}
4141

4242
deal(count) {
@@ -53,7 +53,7 @@
5353
this.dealCount += 1;
5454
}
5555

56-
shuffle() {
56+
newGame() {
5757
while (this.gameContainer.firstChild) {
5858
this.gameContainer.removeChild(this.gameContainer.firstChild);
5959
}

src/week3/cards-web/style.css

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
body {
22
background-color: #068649;
33
font-family: 'Roboto', sans-serif;
4+
overflow-y: scroll;
45
}
56

67
#root {
@@ -27,6 +28,7 @@ button {
2728
margin: 8px;
2829
padding: 8px 16px;
2930
border-radius: 4px;
31+
width: 120px;
3032
}
3133

3234
button:disabled {
@@ -55,7 +57,7 @@ button:disabled {
5557
border: none;
5658
border-radius: 8px;
5759
background-color: #fff;
58-
box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.12);
60+
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
5961
}
6062

6163
.card-row {
@@ -65,6 +67,16 @@ button:disabled {
6567
text-align: center;
6668
}
6769

70+
.card-text {
71+
display: flex;
72+
flex-direction: column;
73+
align-items: center;
74+
}
75+
76+
.card-symbol {
77+
width: 80%;
78+
}
79+
6880
.row-bottom {
6981
transform: rotate(180deg);
7082
}

0 commit comments

Comments
 (0)