-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
134 lines (120 loc) · 3.5 KB
/
Copy pathindex.js
File metadata and controls
134 lines (120 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
let player = {
name: 'Player',
chips: 200,
}
let playerIsAlive = false
let dealerIsAlive = false
let playerCards = []
let dealerCards = []
let playerSum = 0
let dealerSum = 0
let hasBlackJack = false
let message = ''
let messageEl = document.getElementById('message-el')
let playerSumEl = document.getElementById('player-sum-el')
let dealerSumEl = document.getElementById('dealer-sum-el')
let playerCardsEl = document.getElementById('player-cards-el')
let dealerCardsEl = document.getElementById('dealer-cards-el')
let playerEl = document.getElementById('player-el')
playerEl.textContent = `${player.name}: $${player.chips}`
/* random number function */
function getRandomCard() {
let randomNumber = Math.floor(Math.random() * 13) + 1
if (randomNumber > 10) {
return 10
} else if (randomNumber === 1) {
return 11
} else {
return randomNumber
}
}
/* start game function */
function startGame() {
playerIsAlive = true
dealerIsAlive = true
let playerFirstCard = getRandomCard()
let dealerFirstCard = getRandomCard()
let playerSecondCard = getRandomCard()
let dealerSecondCard = getRandomCard()
playerCards = [playerFirstCard, playerSecondCard]
dealerCards = [dealerFirstCard, dealerSecondCard]
playerSum = playerFirstCard + playerSecondCard
dealerSum = dealerFirstCard + dealerSecondCard
renderGame()
}
/* game function */
function renderGame() {
playerCardsEl.textContent = 'Player Cards: '
dealerCardsEl.textContent = 'Dealer Cards: '
for (let i = 0; i < playerCards.length; i++) {
playerCardsEl.textContent += playerCards[i] + ' '
}
for (let i = 0; i < dealerCards.length; i++) {
dealerCardsEl.textContent += dealerCards[i] + ' '
}
playerSumEl.textContent = 'Player Sum: ' + playerSum
dealerSumEl.textContent = 'Dealer Sum: ' + dealerSum
/* player sum */
if (playerSum <= 20 && dealerSum <= 20) {
message = 'Do you want to draw a new card?'
} else if (playerSum === 21) {
message = "You've got Blackjack!"
hasBlackJack = true
} else {
message = "You're out of the game!"
playerIsAlive = false
}
messageEl.textContent = message
}
/* new card function */
function newCard() {
if (playerIsAlive === true && hasBlackJack === false) {
let playerCard = getRandomCard()
let dealerCard = getRandomCard()
playerSum += playerCard
dealerSum += dealerCard
playerCards.push(playerCard)
dealerCards.push(dealerCard)
renderGame()
}
}
/* hold function */
function hold() {
// if hold is clicked
// draw new card for dealer
// then compare both sums
if (playerSum > dealerSum && playerIsAlive == true) {
message = 'You win!'
} else if (playerSum < dealerSum || playerIsAlive == false) {
message = 'You lose!'
playerIsAlive = false
}
messageEl.textContent = message
}
// if playersum is greater than dealer sum and player is playerIsAlive
// dealer draw one more newCard
if (playerSum > dealerSum && playerIsAlive === true) {
let dealerCard = getRandomCard()
dealerSum += dealerCard
dealerCards.push(dealerCard)
renderGame()
}
// if player sum is great than dealer sum and dealer is alive is true
// then player win
// else if dealer
/* NOTES */
// SETTING THE STAGE
/* const player = "Justin"
const opponent = "Dealer"
const game = "Blackjack"
let points = 0
let hasWon = false
// PLAYING THE GAME
points += 100
hasWon = true
// ANNOUNCING THE WINNER
if (hasWon) {
console.log(`${player} got ${points} points and won ${game} game!`)
} else {
console.log(`The winner is ${opponent}! ${player} lost the game`)
} */