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

Blackjack #56

Open
wants to merge 3 commits 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
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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



Expand Down
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</head>
<body>
<script type="application/javascript" src="naoMexer.js"></script>
<script defer type="application/javascript" src="versao_1.js"></script>
<!-- <script defer type="application/javascript" src="versao_1.js"></script> -->
<script defer type="application/javascript" src="versao_2.js"></script>
</body>
</html>
35 changes: 34 additions & 1 deletion versao_1.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,37 @@
*
*
*
*/
*/
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");
}
75 changes: 75 additions & 0 deletions versao_2.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}