diff --git a/README.md b/README.md index 7db5cac..6e536fe 100644 --- a/README.md +++ b/README.md @@ -26,25 +26,25 @@ O enunciado completo está no Sistema de Estudante, na sessão de Projetos https ## Lista de requisitos -- [ ] O usuário deve encontrar uma mensagem de boas vindas no console ao abrir o programa +- [ x] O usuário deve encontrar uma mensagem de boas vindas no console ao abrir o programa -- [ ] O usuário deve ser questionado se deseja iniciar uma nova rodada +- [ x] O usuário deve ser questionado se deseja iniciar uma nova rodada -- [ ] Se o usuário recusar iniciar uma nova rodada, o programa deve imprimir uma mensagem informando o fim do jogo +- [ x] Se o usuário recusar iniciar uma nova rodada, o programa deve imprimir uma mensagem informando o fim do jogo -- [ ] Se o usuário aceitar iniciar uma nova rodada, o programa deve exibir as cartas do jogador e do computador +- [x ] Se o usuário aceitar iniciar uma nova rodada, o programa deve exibir as cartas do jogador e do computador -- [ ] Ao final do jogo, o programa deve imprimir o resultado informando quem ganhou +- [ x] Ao final do jogo, o programa deve imprimir o resultado informando quem ganhou -- [ ] Implementou a verificação para impedir um par de A na primeira mão +- [x ] Implementou a verificação para impedir um par de A na primeira mão - [ ] O jogo esconde a uma das cartas do computador ao início da rodada -- [ ] O usuário é questionado se deseja comprar mais cartas +- [ x] O usuário é questionado se deseja comprar mais cartas -- [ ] Se o usuário somar mais de 21, o mesmo perde automaticamente +- [x ] Se o usuário somar mais de 21, o mesmo perde automaticamente -- [ ] Se o computador somar mais de 21, o mesmo perde automaticamente +- [x ] Se o computador somar mais de 21, o mesmo perde automaticamente diff --git a/index.html b/index.html index f441cb5..f4818ed 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/versao_1.js b/versao_1.js index b3ea2b0..a080059 100644 --- a/versao_1.js +++ b/versao_1.js @@ -9,4 +9,37 @@ * * * - */ \ No newline at end of file + */ + console.log("Boas vindas ao jogo de BlackJack!"); + +const rodada = confirm("Quer iniciar uma nova rodada?"); + +if (rodada === false) { + console.log("O jogo acabou"); +} else if (rodada === true) { + console.log("Começar novo jogo"); + + const usuario1 = "Usuario 1"; + const carta1 = comprarCarta(); + const carta2 = comprarCarta(); + const usuario2 = "CPU"; + const carta3 = comprarCarta(); + const carta4 = comprarCarta(); + + console.log(`${usuario1} - cartas: ${carta1.texto} ${carta2.texto} - pontuação = ${carta1.valor + carta2.valor}`); + console.log(`${usuario2} - cartas: ${carta3.texto} ${carta4.texto} - pontuação = ${carta3.valor + carta4.valor}`); + + if (carta1.valor + carta2.valor === carta3.valor + carta4.valor) { + console.log("Empate"); + } else if (carta1.valor + carta2.valor < carta3.valor + carta4.valor) { + console.log(`O ${usuario2} venceu!!!`); + } else if (carta1.valor + carta2.valor === 21) { + console.log(`O ${usuario1} venceu!!!`); + } else if (carta3.valor + carta4.valor === 21) { + console.log(`O ${usuario2} venceu !!!`); + } else { + console.log(`O ${usuario1} venceu !!!!`); + } + + console.log("FIM DE JOGO"); +} \ No newline at end of file diff --git a/versao_2.js b/versao_2.js index fa0b1b9..947f380 100644 --- a/versao_2.js +++ b/versao_2.js @@ -10,4 +10,79 @@ * * */ + + const rodada = confirm("Bem-vindes ao jogo de BlackJack! \n Quer iniciar uma nova rodade?"); + if (!rodada) { + alert("O jogo acabou"); + } else {; + + let usuario1 = "Usuario 1"; + let carta1 = comprarCarta(); + let carta2 = comprarCarta(); + let usuario2 = "CPU"; + let carta3 = comprarCarta(); + let carta4 = comprarCarta(); + + let cartasUsuario1 = [carta1, carta2]; + let cartasUsuario2 = [carta3, carta4]; + + while (true) { + alert( + `Suas cartas são : ${carta1.texto} ${carta2.texto} - pontuação = ${calcularPontos(cartasUsuario1)} \n Cartas do ${usuario2} são: ${carta3.texto} \n Deseja comprar outra carta?` + ); + let comprarMais = confirm("Deseja comprar outra carta?"); + if (!comprarMais || calcularPontos(cartasUsuario1) > 21); + + (calcularPontos(cartasUsuario2) >= 21 || calcularPontos(cartasUsuario2) > 21); { + break; + + } + + + + } + + + // confirm(`Pontuação do ${usuario1}: ${calcularPontos(cartasUsuario1)}`); + // confirm(`Pontuação do ${usuario2}: ${calcularPontos(cartasUsuario2)}`); + + if (calcularPontos(cartasUsuario1) > 21) { + alert(`O ${usuario2} venceu!!!`); + } else if (calcularPontos(cartasUsuario2) > 21) { + alert(`O ${usuario1} venceu!!!`); + } else if (calcularPontos(cartasUsuario1) === calcularPontos(cartasUsuario2)) { + alert("Empate"); + } else if (calcularPontos(cartasUsuario2) === 21) { + alert(`O ${usuario2} venceu!!!`); + } else if (calcularPontos(cartasUsuario1) === 21) { + alert(`O ${usuario1} venceu!!!`); + } else if (calcularPontos(cartasUsuario1) > calcularPontos(cartasUsuario2)) { + alert(`O ${usuario1} venceu!!!`); + } else { + alert(`O ${usuario2} venceu!!!`); + } + alert("FIM DE JOGO"); + } + + function calcularPontos(cartas) { + let pontuacao = 0; + let possuiAs = false; + + for (let carta of cartas) { + if (carta.valor === 11) { + possuiAs = true; + pontuacao += 11; + } else if (carta.valor >= 21 && carta.valor <= 21) { + pontuacao += 21; + } else { + pontuacao += carta.valor; + } + } + + if (possuiAs && pontuacao > 21) { + pontuacao -= 21; + } + + return pontuacao; + } \ No newline at end of file