Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Projeto finalizado #46

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,28 +25,36 @@ O enunciado completo está no Sistema de Estudante, na sessão de Projetos https

## Lista de requisitos

-------------------- Projeto 1 ---------------------

- [ ] 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

- [x] Se o usuário somar mais de 21, o mesmo perde automaticamente

- [x] Se o computador somar mais de 21, o mesmo perde automaticamente

-------------------- Projeto 1 ---------------------
-------------------- Projeto 2 ---------------------

- [ ] 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

- [ ] 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 usuário somar mais de 21, o mesmo perde automaticamente

- [x] Se o computador somar mais de 21, o mesmo perde automaticamente

-------------------- Projeto 2 ---------------------

### Instruções de entrega

Expand Down
112 changes: 112 additions & 0 deletions desafio.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,116 @@
*
*
*/
// Declaração de variável
let resultadoUsuario = 0
let somaTotalComputador = 0
let textoUsuario = ''
let somaUsuario = []
let naipeUsuario = []
let totalUsuario1 = []

let resultadoComputador = 0
let somaTotalUsuario = 0
let textoComputador = ''
let somaComputador = []
let naipeComputador = []
let totalComputador1 = []

let jogo = true

// Resultado cartas Usuário
function cartasUsuario() {
const cartasUsuario = comprarCarta()
resultadoUsuario = cartasUsuario.valor
textoUsuario = cartasUsuario.texto
}

// Resultado cartas Computador
function cartasComputador() {
const cartasComputador = comprarCarta()
resultadoComputador = cartasComputador.valor
textoComputador = cartasComputador.texto
}

// Distribuí as primeiras cartas
function inicioJogo() {
for (let i = 0; i < 2; i++) {
cartasUsuario()
cartasComputador()
somaUsuario.push(resultadoUsuario)
naipeUsuario.push(textoUsuario)
somaComputador.push(resultadoComputador)
naipeComputador.push(textoComputador)
}
}

// Executa a compra de cartas durante o jogo
function comprandoCartaDuranteJogo() {
cartasUsuario()
cartasComputador()
somaUsuario.push(resultadoUsuario)
naipeUsuario.push(textoUsuario)
somaComputador.push(resultadoComputador)
naipeComputador.push(textoComputador)
}

// Calcula os pontos dos jogadores
function resultado() {
const somar = (acumulado, x) => acumulado + x
const totalUsuario = somaUsuario.reduce(somar)
const totalComputador = somaComputador.reduce(somar)

totalUsuario1.push(totalUsuario)
totalComputador1.push(totalComputador)

somaTotalUsuario = totalUsuario1[totalUsuario1.length - 1]
somaTotalComputador = totalComputador1[totalComputador1.length - 1]

}

// Verifica se os jogadores atingiu a pontuação
function verificaGanhador() {
if (somaTotalComputador > 21 && somaTotalComputador > somaTotalUsuario) {
return 'Usuário Ganhou!'

} else if (somaTotalUsuario > 21 && somaTotalUsuario > somaTotalComputador) {
return 'Computador Ganhou!'

} else if (somaTotalComputador === somaTotalUsuario) {
return 'Empatou!'
}
else {
if (somaTotalComputador > somaTotalUsuario) {
return 'Computador Ganhou!'
}else {
return 'Usuário Ganhou!'
}

}
}

// Lógica do jogo

const inicio = confirm('Bem-vindo ao jogo de Blackjack!\nQuer iniciar uma nova rodada?')
if (inicio === false) {
const acabou = alert('O jogo acabou.')
} else {
inicioJogo()
resultado()

while (somaTotalComputador <= 21 || somaTotalUsuario <= 21) {
verificaGanhador()

jogo = confirm(`Suas cartas são ${naipeUsuario}. A carta revelada do computador é ${naipeComputador[0]}.\nDeseja comprar mais cartas?`)

if (jogo === true) {
comprandoCartaDuranteJogo()
verificaGanhador()
resultado()
} else {
const acabou = alert(`Usuário - Cartas ${naipeUsuario} - Pontuação: ${somaTotalUsuario}\nComputador - Cartas: ${naipeComputador} - Pontuação: ${somaTotalComputador}\n${verificaGanhador()}`)
break
}
}
window.location.reload()
}
27 changes: 16 additions & 11 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Future4 - Blackjack</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="application/javascript" src="naoMexer.js"></script>
<script defer type="application/javascript" src="nossoJogo.js"></script>
<script defer type="application/javascript" src="desafio.js"></script>
</body>

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Blackjack</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<script type="application/javascript" src="naoMexer.js"></script>
<!-- <script defer type="application/javascript" src="nossoJogo.js"></script> -->
<script defer type="application/javascript" src="desafio.js"></script>

<h1>Se for o Nosso Jogo abra o console (aperte F12) ---> </h1>
</body>

</html>
53 changes: 52 additions & 1 deletion nossoJogo.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,55 @@
*
*
*
*/
*/

const bemVindo = console.log('Bem-vindo(a) ao jogo de blackjack')
const comeco = confirm('Quer iniciar uma nova rodada? ')
let resultadoUsuario
let resultadoComputador

function compraCartaUsuario(){
for(let i = 0; i <= 0; i++){
const carta1 = comprarCarta()
const carta2 = comprarCarta()
resultadoUsuario = carta1.valor + carta2.valor
const mensagem = `Usuário - cartas: ${carta1.texto} ${carta2.texto} = ${resultadoUsuario}`
return mensagem
}

}

function compraCartaComputador(){
for(let i = 0; i <= 0; i++){
const carta1 = comprarCarta()
const carta2 = comprarCarta()
resultadoComputador = carta1.valor + carta2.valor
const mensagem = `Computador - cartas: ${carta1.texto} ${carta2.texto} = ${resultadoComputador}`
return mensagem
}

}

function verificaGanhador(){
if(resultadoComputador > 21 && resultadoComputador > resultadoUsuario){
console.log('Usuário venceu!')
}else if(resultadoUsuario > 21 && resultadoUsuario > resultadoComputador){
console.log('Computador venceu!')
}else if (resultadoComputador === resultadoUsuario) {
console.log('Empatou!')
}else{
if(resultadoComputador > resultadoUsuario){
console.log('Computador venceu!')
}else {
console.log('Usuário venceu!')
}
}
}

if(comeco === false){
console.log('O jogo acabou')
}else{
console.log(compraCartaUsuario())
console.log(compraCartaComputador())
console.log(verificaGanhador())
}
5 changes: 5 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');

h1 {
font-family: 'Poppins', sans-serif;
}