As equipes estão listadas no final da página
Baixe o programa para jogar Black Jack AQUI.
Blackjack ou Vinte-e-um é um jogo de azar praticado com cartas em casinos 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 jogo é feito com jogadores retirando cartas alternadamente, e somando os valores obtidos.
Tipicamente há 5 jogadas diferentes que os jogadores podem fazer a cada turno.
a) Stand (parar): Se o jogador está satisfeito com sua mão e não quer pedir mais cartas.
b) Hit ("acertar"): Se o jogador desejar mais uma carta.
c) Dobrar: Se o jogador sentir que necessita de uma e somente uma carta adicional, então pode dobrar sua aposta e receber mais uma carta, boa ou ruim.
d) Surrender (rendição): Finalmente, alguns cassinos oferecem ao jogador a opção de rendição nas primeiras duas cartas. Se o jogador não gostar das suas cartas pode perder metade da aposta assim como suas cartas. Esta opção geralmente é oferecida somente depois que o negociante verifica para ver se há o blackjack, conhecido como "a rendição atrasada."
Pontuação:
Ás: 1 ou 11 pontos
10, J, Q e Rei: 10 pontos
De 2 a 10: O valor indicado na carta
O projeto.
O projeto é desenvolver um programa que permita a duas pessoas jogar Black Jack entre si.
O programa deverá funcionar de forma idêntica ao que está disponível e pode ser baixado no link acima.
O jogo foi ligeiramente adaptado: as cartas são numeradas de 1 a 13, e apenas dois jogadores se enfrentam alternadamente. Note que há apenas um baralho, e apenas um naipe. Assim, a carta que for selecionada para um jogador não poderá ser sorteada novamente.
A cada rodada os jogadores podem pedir cartas ou parar se já estiver satisfeito.
Note que o jogo termina quando um dos jogadores ultrapassa o limite de 21, e então o próprio programa informa isso, ou então quando ambos os jogadores desistem de pedir cartas.
O objetivo é construir um programa que permita duas pessoas jogar Black Jack entre si EXATAMENTE COMO NO PROGRAMA DE EXEMPLO.
Equipes de 1 a 4 pessoas.
As equipes devem ser formadas e enviadas para o e-mail do professor até à meia-noite do dia 15/05/2013.
Os estudantes que não forem espontaneamente incluídos em alguma equipe até a data-limite terão seus nomes incluídos em alguma equipe formada compulsoriamente.
Detalhes da programação.
Para conseguir realizar este projeto, será necessário o conhecimento de alguns pequenos comandos que não são estudados regularmente.
Os comandos a serem observados são
rand()
srand( (unsigned)time(NULL) ) // precisa da biblioteca time.h
getche() // precisa da biblioteca conio.h
system("cls") //precisa da biblioteca stdlib.h
Para isso vejam os dois programas de exemplo abaixo. Você pode copiá-los e executá-los em seu computador para entender melhor.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
main() {
char c;
int x;
printf("Um programa de exemplo \n");
for (int i=0;i<10;i++) {
x = rand();
printf("Sorteei um numero: %d\n",x);
printf("Agora esperar uma tecla");
c = getche(); //getche() lê uma tecla
}
printf("Para encerrar, vou limpar a tela");
system("cls");
c = getche();
printf("FIM\n");
system("pause");
}
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
main() {
char c;
int x;
printf("Outro programa de exemplo \n");
srand( (unsigned)time(NULL) );
for (int i=0;i<10;i++) {
x = rand();
printf("Sorteei um numero: %d\n",x);
printf("Agora esperar uma tecla");
c = getche(); //getche() lê uma tecla
}
printf("Para encerrar, vou limpar a tela");
system("cls");
c = getche();
printf("FIM\n");
system("pause");
}
Note que o programa da esquerda sempre sorteia os mesmos números a cada execução. É que a semente selecionada não muda.
Mas podemos melhorar isso. O comando srand((unsigned)time(NULL)) do programa da direita força o computador a gerar uma nova semente.
Note também que o número aleatório pode ser muito grande ou muito pequeno. Mas podemos sortear números aleatórios dentro de um intervalo se pegarmos o resto da divisão. Assim, o comando x = rand()%10 gera um número aleatório na variável x, mas este número fica entre 0 e 9.
Modifique os programas acima para entender melhor.
EQUIPES FORMADAS ESPONTANEAMENTE