UFSM > Ciência da Computação
ELC1065 - Laboratório de Programação I
Trabalho Final
Primeiro Semestre de 2013
Professora: Juliana Kaizer Vizzotto
Parte I: Simulação Embaralhamento e Distribuição de Cartas
- Você deve desenvolver um programa que embaralhará 52 cartas de jogo, e depois distribuirá cada uma delas.
- Você deve usar uma matriz `deck` de 4 linhas e 13 colunas, para representar o baralho. As linhas correspondem aos naipes - linha 0 corresponde ao copas, linha 1 a ouros, linha 2 a paus e linha 3 espadas. As colunas correspondem aos valores de faces das cartas - as colunas de 0 a 9 correspondem a às até 10, respectivamente, e as colunas de 10 a 12 correspondem a valete, dama e rei.
- Você deve usar mais dois vetores de strings: `suit` com strings de caracteres que representam os quatro naipes `face` com strings de caracteres que representam os treze valores de face.
- Esse baralho simulado pode ser embaralhado da seguinte forma: primeiro a matriz `deck` é zerada. Depois uma linha e uma coluna são escolhidos aleatóriamente. Essa será a primeira carta a ser distribuída.
- Para dar a primeira carta, procuramos por `deck[i][j]=1`. Então usando os vetores `face` e `suit` o programa deve imprimir algo do tipo "Rei de Paus", "Ás de Ouros" e assim por diante.
- Você deve usar duas funções `void embaralha(int baralho[][13])` e `void distribui(int baralho[][13], char *face[],char *naipe[])`.
- A função de distribuição de cartas deve fazer uma mão de pôquer de cinco cartas.
- Depois escreva as seguintes funções adicionais:
- Determine se a mão contém um par;
- Determine se a mão contém dois pares;
- Determine se a mão contém uma trinca;
- Determine se a mão contém uma quadra;
- Determine se a mão contém um flush (cindo cartas do mesmo naipe);
- Determine se a mão contém straight/sequencia (cinco cartas de valores do mesmo naipe consecutivos)
- Agora, modifique o seu programa para embaralhar e distribuir duas mãos de pôquer com cinco cartas e avalie qual a melhor mão.
- VOCÊ NÃO PODE UTILIZAR NENHUMA VARIÁVEL GLOBAL.
Bonus: Simulando Jogo de Pôquer do Carteador com as cartas viradas para baixo (Essa parte ganha um ponto Extra - não é obrigatório fazer)
- Agora modifique o programa de modo que seja possível simular o papel do carteador. A mão de cinco cartas do cartas do carteador deve ser "virada para baixo", de modo que o jogador não possa vê-la. O programa então deve avaliar a mão do carteador e baseado na qualidade da mão, o carteador deve retirar mais uma, duas ou três cartas para substituir o número correspondente de cartas desnecessárias na mão original. O programa deve então reavaliar a mão do carteador.
- Agora o seu programa deve lidar com a mão do carteador automaticamente, mas deixando para o jogador a decisão a decisão de quais cartas
deseja substituir. O programa deverá então avaliar as duas mãos e determinar quem vence. Agora, use esse novo programa para jogar 20vezes contra o computador.
Aprimore o seu programa de acordo com os resultados obtidos.
Página criada em: Seg Jul 15 15:00:00 BRT 2013. Última atualização em: Wed Jun 20 16:27:34 2012. Autoria: Juliana Kaizer Vizzotto.