·
Engenharia Elétrica ·
Linguagens de Programação
Send your question to AI and receive an answer instantly
Recommended for you
3
Trabalho Prático 3 - Menságens Assíncronas
Linguagens de Programação
UFMG
3
Trabalho Prático 2 - Menságens Assíncronas
Linguagens de Programação
UFMG
18
Exercício 1 - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
4
Trabalho - Truco Mineiro C 2022 2
Linguagens de Programação
UFMG
15
5 Vpl s - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
5
Trabalho - Xadrez C 2022 2
Linguagens de Programação
UFMG
5
Trabalho - Truco Mineiro C 2022 2
Linguagens de Programação
UFMG
2
Exercício 8 - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
3
Trabalho - Implementação de Tads 2022-1
Linguagens de Programação
UFMG
2
P2 - Linguagens de Programação 2021-2
Linguagens de Programação
UFMG
Preview text
Referência(Precisamos de algo bem parecido com isso): https://github.com/Riani7/Truco_PDS2 Requisitos Gerais do Trabalho: Repositório com código completo, README.md indicando como compilar e executar o código. Documentação →Detalhamento do projeto. →Doxygen, comentários, indentação. Uso correto das boas práticas e dos conceitos de OO. →Abstração, Encapsulamento, Herança e Polimorfismo. →Modularidade e componentes reusáveis. →Tratamento de exceções. Testes de Unidade. Enunciado: Programe em C++ um jogo de truco mineiro para 2 pessoas de acordo com as seguintes regras de truco mineiro: *Regras gerais: -Os participantes recebem três cartas a cada mão/rodada e disputam uma melhor de três. Uma carta é colocada na mesa por rodada, e a mais valiosa vence a vez. -Em caso de empate na primeira rodada, a segunda decide o vencedor da mão. Em caso de empate na segunda ou terceira rodada, ganha quem venceu a primeira - O truco mineiro é jogado com 40 cartas, retirando os coringas, 8, 9 e 10. A sequência das cartas, independente do naipe, na ordem de mais valiosa para menos valiosa: 3 > 2 > A > K > J > Q > 7 > 6 > 5 > 4. - O zap, 4 de paus, é a carta mais forte do Truco. Da mais valiosa para a menos valiosa, as manilhas no truco mineiro são: 4 de paus (Zap) > 7 de copas > Ás de espadas (Espadilha) > 7 de ouros. *Regras de pontuação: - Cada mão começa valendo 1 pontos; - No decorrer das rodadas os jogadores, na sua vez de jogar, podem pedir truco, aumentando o valor da mão para 3 pontos; - O adversário pode aceitar, rejeitar ou pedir 6. Quando rejeitam, a mão termina e quem pediu truco ganha 1 ponto. Caso o adversário peça 6, quem pediu truco tem as mesmas possibilidades, aceitar, rejeitar, ou aumentar para 9; e assim podendo aumentar até para 12, valendo o jogo. Requisitos: - A interação do usuário com o programa deve ser pela linha de comando, o programa deve imprimir para o jogador quais as cartas em sua mão e quais outras opções ele pode escolher, das quais o jogador irá digitar a carta que irá jogar ou qual opção ele deseja escolher. - As cartas devem ser representadas da seguinte forma: (Número)(Naipe) sendo que Copas → C, Espadas → E, Ouros → O, Paus → P. Ex: 4 de Paus → 4P, Valete de Ouros → JO, As de Espadas → AE. - O Programa deve trocar o primeiro jogador a cada rodada, ir "rodando" entre os jogadores na seguinte forma: 1 → 2 → 1 → 2 - O Programa deve imprimir qual o primeiro jogador na rodada, e qual o jogador vencedor da rodada, do ponto e eventualmente do jogo ao fim de cada ponto, rodada e jogo, respectivamente. - Exemplo do que o programa deve imprimir quando começa a vez do jogador: "Escolha uma carta ou uma opção: 4P 7C QO Truco Desistir Placar" - Quando uma dupla pedir truco, o programa deve dar as seguintes opções para a dupla adversária: " Aceitar Aumentar Desistir " e caso a opção " Aumentar " seja escolhida, as mesmas opções devem ser dadas a dupla que pediu truco, e assim em diante até o limite de pontos do jogo. - As cartas devem ser distribuídas aleatoriamente; - Exemplo de um jogo: Programa: " Primeiro Jogador: 1 " Programa: " Escolha uma carta ou uma opção: " Programa: " 4P 7C QO Truco Desistir Placar " Usuário 1: " 4P " Programa: " Escolha uma carta ou uma opção: " Programa: " AE 7O QC Truco Desistir Placar " Usuário 2: " QC " Programa: “ Jogador vencedor da rodada: 1 ” Programa: " Primeiro Jogador: 2 " Programa: " Escolha uma carta ou uma opção: " Programa: " AE 7O Truco Desistir Placar " Usuário 2: " AE " Programa: " Escolha uma carta ou uma opção: " Programa: " 7C QO Truco Desistir Placar " Usuário 1: " 7C " Programa: “ Jogador vencedor da rodada: 1 ” Programa: “ Jogador vencedor do ponto: 1 ” Programa: “ Placar: ” Programa: “ Jogador 1: 1 ” Programa: “ Jogador 2: 0 ” Programa: " Primeiro Jogador: 1 " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P AE Truco Desistir Placar " Usuário 1: " Truco " Programa: " Escolha uma carta ou uma opção: " Programa: " Cartas:4P 3P 3E " Programa: " Aceitar Aumentar Desistir Usuário 2: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 1: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 2: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 1: " Aceitar " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P AE Desistir Placar " Usuário 1: " AE " Programa: " Escolha uma carta ou uma opção: " Programa: " 4P 3P 3E Desistir Placar " Usuário 2: " 4P " Programa: “ Jogador vencedor da rodada: 2 ” Programa: " Primeiro Jogador: 2 “ Programa: " Escolha uma carta ou uma opção: " Programa: " 3P 3E Desistir Placar " Usuário 2: " 3P " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P Desistir Placar " Usuário 1: " 3O " Programa: “ Jogador vencedor da rodada: Empate ” Programa: “ Jogador vencedor do ponto: 2 ” Programa: “ Placar: ” Programa: “ Jogador 1: 1 ” Programa: “ Jogador 2: 12 ” Programa: “ Jogador vencedor do jogo: 2” User Stories e condições de aceite(estão entre parênteses): 1) Como jogador eu quero ser capaz de acessar o placar da partida, para saber quem está ganhando. (Implementar um comando que o jogador pode dar durante sua vez que irá retornar o placar atual da partida) 2) Como jogador eu quero ser capaz de receber minhas cartas para poder jogá-las a cada rodada. (o programa tem que distribuir as cartas aleatoriamente para cada jogador) (uma vez que o jogador recebeu suas cartas, ele tem que ser capaz de escolher uma para jogar) (o programa deve imprimir a mão da pessoa e outra opções pertinentes) 3) Como jogador eu quero ser capaz de saber o vencedor de cada ponto e da rodada. (o programa deve ser capaz de comparar as cartas jogadas, informar a dupla ganhadora e atribuir os pontos corretamente) 4) Como jogador eu quero ser capaz de aumentar a aposta da rodada. (durante sua vez, através de um comando jogador deve ser capaz de pedir "truco", o que aumentará o número de pontos da rodada) 5) Como jogador eu quero que mude o primeiro a jogar a cada rodada. (a cada rodada o programa deve ser capaz de alterar o primeiro jogador) 6) Como jogador eu quero ser capaz de desistir do ponto. (durante sua vez o jogador, através de um comando, deve ser capaz de desistir da rodada) Referência(Precisamos de algo bem parecido com isso): https://github.com/Riani7/Truco_PDS2
Send your question to AI and receive an answer instantly
Recommended for you
3
Trabalho Prático 3 - Menságens Assíncronas
Linguagens de Programação
UFMG
3
Trabalho Prático 2 - Menságens Assíncronas
Linguagens de Programação
UFMG
18
Exercício 1 - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
4
Trabalho - Truco Mineiro C 2022 2
Linguagens de Programação
UFMG
15
5 Vpl s - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
5
Trabalho - Xadrez C 2022 2
Linguagens de Programação
UFMG
5
Trabalho - Truco Mineiro C 2022 2
Linguagens de Programação
UFMG
2
Exercício 8 - Linguagens de Programação 2022 2
Linguagens de Programação
UFMG
3
Trabalho - Implementação de Tads 2022-1
Linguagens de Programação
UFMG
2
P2 - Linguagens de Programação 2021-2
Linguagens de Programação
UFMG
Preview text
Referência(Precisamos de algo bem parecido com isso): https://github.com/Riani7/Truco_PDS2 Requisitos Gerais do Trabalho: Repositório com código completo, README.md indicando como compilar e executar o código. Documentação →Detalhamento do projeto. →Doxygen, comentários, indentação. Uso correto das boas práticas e dos conceitos de OO. →Abstração, Encapsulamento, Herança e Polimorfismo. →Modularidade e componentes reusáveis. →Tratamento de exceções. Testes de Unidade. Enunciado: Programe em C++ um jogo de truco mineiro para 2 pessoas de acordo com as seguintes regras de truco mineiro: *Regras gerais: -Os participantes recebem três cartas a cada mão/rodada e disputam uma melhor de três. Uma carta é colocada na mesa por rodada, e a mais valiosa vence a vez. -Em caso de empate na primeira rodada, a segunda decide o vencedor da mão. Em caso de empate na segunda ou terceira rodada, ganha quem venceu a primeira - O truco mineiro é jogado com 40 cartas, retirando os coringas, 8, 9 e 10. A sequência das cartas, independente do naipe, na ordem de mais valiosa para menos valiosa: 3 > 2 > A > K > J > Q > 7 > 6 > 5 > 4. - O zap, 4 de paus, é a carta mais forte do Truco. Da mais valiosa para a menos valiosa, as manilhas no truco mineiro são: 4 de paus (Zap) > 7 de copas > Ás de espadas (Espadilha) > 7 de ouros. *Regras de pontuação: - Cada mão começa valendo 1 pontos; - No decorrer das rodadas os jogadores, na sua vez de jogar, podem pedir truco, aumentando o valor da mão para 3 pontos; - O adversário pode aceitar, rejeitar ou pedir 6. Quando rejeitam, a mão termina e quem pediu truco ganha 1 ponto. Caso o adversário peça 6, quem pediu truco tem as mesmas possibilidades, aceitar, rejeitar, ou aumentar para 9; e assim podendo aumentar até para 12, valendo o jogo. Requisitos: - A interação do usuário com o programa deve ser pela linha de comando, o programa deve imprimir para o jogador quais as cartas em sua mão e quais outras opções ele pode escolher, das quais o jogador irá digitar a carta que irá jogar ou qual opção ele deseja escolher. - As cartas devem ser representadas da seguinte forma: (Número)(Naipe) sendo que Copas → C, Espadas → E, Ouros → O, Paus → P. Ex: 4 de Paus → 4P, Valete de Ouros → JO, As de Espadas → AE. - O Programa deve trocar o primeiro jogador a cada rodada, ir "rodando" entre os jogadores na seguinte forma: 1 → 2 → 1 → 2 - O Programa deve imprimir qual o primeiro jogador na rodada, e qual o jogador vencedor da rodada, do ponto e eventualmente do jogo ao fim de cada ponto, rodada e jogo, respectivamente. - Exemplo do que o programa deve imprimir quando começa a vez do jogador: "Escolha uma carta ou uma opção: 4P 7C QO Truco Desistir Placar" - Quando uma dupla pedir truco, o programa deve dar as seguintes opções para a dupla adversária: " Aceitar Aumentar Desistir " e caso a opção " Aumentar " seja escolhida, as mesmas opções devem ser dadas a dupla que pediu truco, e assim em diante até o limite de pontos do jogo. - As cartas devem ser distribuídas aleatoriamente; - Exemplo de um jogo: Programa: " Primeiro Jogador: 1 " Programa: " Escolha uma carta ou uma opção: " Programa: " 4P 7C QO Truco Desistir Placar " Usuário 1: " 4P " Programa: " Escolha uma carta ou uma opção: " Programa: " AE 7O QC Truco Desistir Placar " Usuário 2: " QC " Programa: “ Jogador vencedor da rodada: 1 ” Programa: " Primeiro Jogador: 2 " Programa: " Escolha uma carta ou uma opção: " Programa: " AE 7O Truco Desistir Placar " Usuário 2: " AE " Programa: " Escolha uma carta ou uma opção: " Programa: " 7C QO Truco Desistir Placar " Usuário 1: " 7C " Programa: “ Jogador vencedor da rodada: 1 ” Programa: “ Jogador vencedor do ponto: 1 ” Programa: “ Placar: ” Programa: “ Jogador 1: 1 ” Programa: “ Jogador 2: 0 ” Programa: " Primeiro Jogador: 1 " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P AE Truco Desistir Placar " Usuário 1: " Truco " Programa: " Escolha uma carta ou uma opção: " Programa: " Cartas:4P 3P 3E " Programa: " Aceitar Aumentar Desistir Usuário 2: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 1: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 2: " Aumentar " Programa: " Aceitar Aumentar Desistir Usuário 1: " Aceitar " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P AE Desistir Placar " Usuário 1: " AE " Programa: " Escolha uma carta ou uma opção: " Programa: " 4P 3P 3E Desistir Placar " Usuário 2: " 4P " Programa: “ Jogador vencedor da rodada: 2 ” Programa: " Primeiro Jogador: 2 “ Programa: " Escolha uma carta ou uma opção: " Programa: " 3P 3E Desistir Placar " Usuário 2: " 3P " Programa: " Escolha uma carta ou uma opção: " Programa: " 3O 2P Desistir Placar " Usuário 1: " 3O " Programa: “ Jogador vencedor da rodada: Empate ” Programa: “ Jogador vencedor do ponto: 2 ” Programa: “ Placar: ” Programa: “ Jogador 1: 1 ” Programa: “ Jogador 2: 12 ” Programa: “ Jogador vencedor do jogo: 2” User Stories e condições de aceite(estão entre parênteses): 1) Como jogador eu quero ser capaz de acessar o placar da partida, para saber quem está ganhando. (Implementar um comando que o jogador pode dar durante sua vez que irá retornar o placar atual da partida) 2) Como jogador eu quero ser capaz de receber minhas cartas para poder jogá-las a cada rodada. (o programa tem que distribuir as cartas aleatoriamente para cada jogador) (uma vez que o jogador recebeu suas cartas, ele tem que ser capaz de escolher uma para jogar) (o programa deve imprimir a mão da pessoa e outra opções pertinentes) 3) Como jogador eu quero ser capaz de saber o vencedor de cada ponto e da rodada. (o programa deve ser capaz de comparar as cartas jogadas, informar a dupla ganhadora e atribuir os pontos corretamente) 4) Como jogador eu quero ser capaz de aumentar a aposta da rodada. (durante sua vez, através de um comando jogador deve ser capaz de pedir "truco", o que aumentará o número de pontos da rodada) 5) Como jogador eu quero que mude o primeiro a jogar a cada rodada. (a cada rodada o programa deve ser capaz de alterar o primeiro jogador) 6) Como jogador eu quero ser capaz de desistir do ponto. (durante sua vez o jogador, através de um comando, deve ser capaz de desistir da rodada) Referência(Precisamos de algo bem parecido com isso): https://github.com/Riani7/Truco_PDS2