Sinais e Sistemas Trabalho Final
Por: gabshowandrade • 5/12/2019 • Pesquisas Acadêmicas • 820 Palavras (4 Páginas) • 308 Visualizações
UNIVERSIDADE FEDERAL DO AMAZONAS
FACULDADE DE TECNOLOGIA
GREGORY MATHEUS OLIVEIRA DE SOUSA – 21457077
THAINARA COSTA DA SILVA – 21454693
MATHEUS CHAVES FONTELES – 21851026
BLACKJACK
Manaus – AM
2019
Sumário
Introdução 3
Desenvolvimento 4
Especificações 4
Máquina de estados 5
Bibliografia 6
Introdução
Neste trabalho desenvolvemos o jogo Blackjack na linguagem Verilog. O jogo Blackjack é um jogo de cartas em que o objetivo é ter mais pontos que o adversário, mas sem ultrapassar 21 pontos. No caso do nosso projeto foi nos dado uma lista de especificações, onde era solicitado apenas que houvesse um jogador jogando contra a própria banca com um baralho de 52 cartas, onde cada carta tem seu valor de pontuação.
O projeto foi desenvolvido no software Quartus II e embarcado na placa FPGA para demonstração do seu funcionamento.
Desenvolvimento
Especificações
Blackjack é um jogo de azar praticada com cartas em cassinos e que pode ser jogado com 1 a 8 baralhos de 52 cartas, em que o objetivo é ter mais pontos do que o adversário, mas sem ultrapassar os 21 (caso em que se perde). O dealer (banca) só pode pedir até um máximo de 5 cartas ou até chegar ao número 17. No entanto para o nosso projeto foi nos dado algumas especificações para realização:
- O jogo começa com a banca dando ao jogador e a si duas cartas cada;
- O jogador tem a opção de "HIT" (pegar outra carta) ou "STAY" (para não receber mais cartas);
- Se o jogador superar 21, o jogador perde. Caso contrário, o jogador aguarda as cartas da banca;
- A banca irá então pegar mais cartas ou não dependendo da soma de seus cartões;
- Se a banca passar de 21, o jogador ganha. Caso contrário, quem tiver a mão mais alta ganha.
No jogo Blackjack cada carta tem seu valor para contabilizar devidas pontuações. As especificações de pontuações passadas para execução do projeto foram essas:
- O Ás = pode valer 1 ou 11, dependendo da situação;
- As cartas de 2 até 9 = tem o seu valor numérico;
- As cartas 10, J, Q, K = valem 10;
Foram feitas algumas outras considerações em relação ao circuito do projeto como especificações para o clock, reset, sinal hit e stay, e etc.:
- Existem apenas uma banca e um jogador;
- Existem apenas 52 cartas no circuito de cartas;
- Se o RESET estiver ativo a qualquer momento durante o jogo, o jogo retorna de forma síncrona ao seu estado inicial;
- O estado muda com relação a borda de subida do CLK;
- O jogo começa em um estado inicial chamado "INICIO";
- O sinal HIT e o sinal STAY nunca estarão ativos (verdadeiro) ao mesmo tempo;
- Nos próximos estado(s), a banca entrega ao jogador e a si duas cartas cada;
- O jogador pode selecionar HIT tantas vezes quanto desejar, desde que sua mão não ultrapasse 21;
- Se o jogador superar 21, o jogador perde;
- Quando o jogador selecionar STAY, a banca irá verificar se necessita de mais cartas;
- A banca pegará cartas se a sua mão for 16 ou menos;
- A banca deve parar se o total de sua mão for igual ou superior a 17;
- Se a banca passar de 21, o jogador ganha;
- Se a banca e o jogador tiverem mãos iguais, então é um empate;
- Não se preocupe com a situação "soft-17" quando a banca tem uma combinação de (Ás + 5 = 6), continuará pegando cartas;
- Quando a banca dá as cartas no início de um jogo, a banca começa com uma carta para o jogador, depois uma para a banca, depois a segunda carta para o jogador e por último a segunda carta para a banca;
- O valor da soma das cartas do jogador deve sempre ficar visível;
- O valor da soma das cartas da banca só deve aparecer no final do jogo;
Máquina de estados
No desenvolvimento de software, frequentemente nos deparamos com situações em que é necessário que uma certa sequência de comandos, ações, dados seja obedecida para o software poder agir ou tomar uma decisão. Para resolver estas questões de forma computacionalmente satisfatória, existe o conceito de máquina de estado.
...