Je dois créer un programme BlackJack qui joue avec 7 joueurs et un Dealer. Je dois utiliser une instruction switch et/et if pour le type de combinaison et cette instruction ne peut être utilisée qu'une seule fois.Programme de Blackjack
Ce que je sais ne fonctionne pas est la fonction de lecture aléatoire():
Quand je cours sans débogage, il me donnera et de sortie comme (A de pique) deux fois mais je mets un tableau de sorte qu'il ne reproduirait pas une carte. Cependant, quand je le débogue et que j'entre dans chaque ligne de code, la sortie me donne deux cartes non dupliquées. J'ai également des difficultés à calculer les totaux des joueurs. «Écris une fonction pour distribuer deux cartes à chaque joueur.», Comment ajouter les deux cartes à un tableau qui n'a pas de taille définie?
Cette albulm web contient des exigences complètes de mon projet:
#include <iostream>
#include <iomanip>
#include <ctime>
#include <windows.h>
#include <stdio.h>
using namespace std;
void Header();
void Shuffle(int&, char&);
void Dealer();
void Deal();
void Another_Card();
void Fin_Dealer();
void WLT();
void gotoxy(int h, int w)
{
HANDLE hConsole = GetStdHandle (STD_OUTPUT_HANDLE);
if (INVALID_HANDLE_VALUE != hConsole)
{
COORD pos = {h, w};
SetConsoleCursorPosition (hConsole, pos);
}
return;
}
int main()
{
Header();
Dealer();
Deal();
WLT();
gotoxy(0,19);
return 0;
}
void Header()
{
cout <<"\t\t\tWelcome to BlackJack!\n\n";
gotoxy(3,3);
cout <<"Dealer Player1 Player2 Player3 Player4 Player5 Player6 Player7 "<<endl;
return;
}
void Shuffle(int& num, char& suit)
{
int cards[52], dup[52];
int card;
srand(time(NULL));
for(int i = 0; i <52; i++)
dup[i] = 0;
card = rand() % 52;
while(dup[card])
card = rand() % 52;
dup[card] = 1;
suit = char(card/13 + 3); //display suit
num = card % 13;
switch(num)
{
case 0: cout<<setw(6)<<right<<" A"<<suit;
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9: cout<<setw(6)<<right<<" "<<num + 1<<suit;
break;
case 10: cout<<setw(6)<<right<<" J"<<suit;
break;
case 11:cout<<setw(6)<<right<<" Q"<<suit;
break;
case 12:cout<<setw(6)<<right<<" K"<<suit;
break;
default:cout<<setw(6)<<right<<"Error";
break;
}
return;
}
void Dealer()
{
int i = 0;
int num = 0;
char suit;
for(i = 4;i <6; i++)
{
gotoxy(0,i);
Shuffle(num, suit);
}
return;
}
void Deal()
{
int i = 0;
int num = 0;
int row = 4;
char suit;
for(i = 1; i < 8; i++)
{
gotoxy(i*8, row);
Shuffle(num,suit);
}
if(playertotal <=20)
{
Another_Card()
}
return;
}
void Another_Card()
{
return;
}
void Fin_Dealer()
{
return;
}
void WLT()
{
return;
}
'Comment ajouter les deux cartes à un tableau qui n'a pas de taille définie?' Il peut ne pas être défini mais il a une taille maximale si vous ne voulez pas utiliser les conteneurs qui peuvent être redimensionnés (21/2). Vegas/Atlantic City utilise plus d'un deck dans la chaussure. Le concessionnaire ne frappe généralement pas au dessus de 16. Certaines règles permettent de frapper sur un soft 17 (A + 6) –