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

  1. Você deve desenvolver um programa que embaralhará 52 cartas de jogo, e depois distribuirá cada uma delas.
  2. 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. 
  3. 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.
  4. 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.
  5. 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.
  6. Você deve usar duas funções `void embaralha(int baralho[][13])` e `void distribui(int baralho[][13], char *face[],char *naipe[])`.
  7. A função de distribuição de cartas deve fazer uma mão de pôquer de cinco cartas.
  8. Depois escreva as seguintes funções adicionais:
  9. 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.
  10. 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)

  1. 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.
  2. 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.