comments for every function + final credits

This commit is contained in:
Felipe 2021-03-25 15:19:52 +01:00
parent 950637358c
commit f83f9fd963

View file

@ -1,3 +1,12 @@
/* -- PROJET DE FIN DE SEMESTRE --
Université Paris 8
Mars - Avril 2021
L1Z - Informatique - Département STN
Ce projet a é développé dans le cadre de l'UE "Outils informatiques collaboratifs" avec Mme. Françoise Balmas
Anri Kennel - Felipe Pereira Manfrin - Kévin Martins Da Veiga - William Nizet */
#include <stdio.h>
#include <stdlib.h>
@ -9,15 +18,24 @@
#include <time.h> // fonction time
#endif
//on utilise une int array pour stocker toutes les cartes du jeu
//au fur et à mesure que les cartes sont distribuées, on enlève ces-là du tableau
int cards[53] = {1,2,3,4,5,6,7,8,9,10,11,12,13,
14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,48,49,50,51,52};
//chaque joueur ainsi que le croupier sont représentés par une int array
//chaque nouvelle carte reçue est additionnée à la liste correspondante
int player1[10];
int player2[10];
int dealer[10];
//les fonctions suivantes servent à vérifier le système d'exploitation de l'utilisateur
//les intéractions sont légèrement différentes à dépendre du système
int isWindows() {
#ifdef _WIN32
return 0;
@ -44,6 +62,9 @@ int clearUserScreen() {
return 0;
}
//pour avoir la valeur réelle d'une carte, on utilise la fonction real_value (toutes cartes valent quelque chose entre 1 et 13)
//dans notre version du jeu, l'As vaut toujours 1 point et les cartes J,Q,K valent toutes 10 points chaque
int real_value(int nb) {
if (nb == 1 || nb == 14 || nb == 27 || nb == 40) {
return 1;
@ -76,6 +97,8 @@ int real_value(int nb) {
return 0;
}
//cette fonction sort la couleur de la carte
//on utilise des charactères génériques pour chaque couleur -> '*', '#', '&', '$'
char real_color(int nb) {
if (nb >= 1 && nb <= 13) {
return '*';
@ -88,6 +111,9 @@ char real_color(int nb) {
}
}
//cette fonction vérifie la somme cumullé de la personne
//si la somme est <= 21, le joueur peut décider de continuer à tourner des cartes ou pas
//si la somme est > 21, le joueur a perdu automatiquement
int victory(int sum) {
if (sum <= 21) {
return 0;
@ -98,6 +124,9 @@ int victory(int sum) {
return 0;
}
//la fonction suivante dessine la carte
//elle prend la valeur de la carte et sa couleur
//des modifications ont été faites pour l'affichages des As,Js,Qs et Ks.
void draw_card(int value, char couleur) {
if (value == 1 || value == 14 || value == 27 || value == 40) {
printf(" -----------\n");
@ -107,6 +136,7 @@ void draw_card(int value, char couleur) {
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| A %c|\n",couleur);
printf(" -----------\n\n");
} else if (value == 11 || value == 24 || value == 37 || value == 50) {
@ -117,6 +147,7 @@ void draw_card(int value, char couleur) {
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| J %c|\n",couleur);
printf(" -----------\n\n");
} else if (value == 12 || value == 25 || value == 38 || value == 51) {
@ -127,6 +158,7 @@ void draw_card(int value, char couleur) {
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| Q %c|\n",couleur);
printf(" -----------\n\n");
} else if (value == 13 || value == 26 || value == 39 || value == 52) {
@ -137,6 +169,7 @@ void draw_card(int value, char couleur) {
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| K %c|\n",couleur);
printf(" -----------\n\n");
} else {
@ -147,17 +180,22 @@ void draw_card(int value, char couleur) {
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| |\n");
printf("| %2d %c|\n",real_value(value),couleur);
printf(" ------------\n\n");
}
}
int main() {
int i = 0, card_acc, acc = 2, init_dsum;
int res_p1, sum1 = 0;
int res_p2, sum2 = 0;
//les règles sont précisées ci-dessous
printf("Welcome to BLACKJACK !\n");
waitUser();
@ -174,6 +212,7 @@ int main() {
waitUser();
clearUserScreen();
//le jeu commence ici
printf("The game begins in...\n");
printf("3\n");
sleep(1);
@ -183,6 +222,7 @@ int main() {
sleep(1);
clearUserScreen();
//les 2 premières cartes du croupier sont ici
srand(time(NULL));
dealer[0] = (rand() % 52) + 1;
@ -203,6 +243,7 @@ int main() {
waitUser();
clearUserScreen();
//les 2 premières cartes de chaque joueur sont ici
printf("Each player will now receive their two first initial cards :\n\n");
sleep(2);
@ -265,6 +306,7 @@ int main() {
waitUser();
clearUserScreen();
//ici, le joueur 1 peut tirer d'autres cartes ou continuer avec sa main initiale
printf("Player 1, you can now choose either to turn more cards up or to keep your current values :\n\n");
sleep(2);
@ -326,12 +368,15 @@ int main() {
printf("\n");
printf("You decided to keep your current values. You can no longer have more cards. Your final score is : %d\n", sum1);
}
if(isWindows() == 1) getchar();
waitUser();
clearUserScreen();
//ré-initialisation de quelques variables
i = 0;
acc = 2;
//ici, le joueur 2 peut tirer d'autres cartes ou continuer avec sa main initiale
printf("Player 2, you can now choose either to turn more cards up or to keep your current values :\n\n");
sleep(1);
@ -393,11 +438,15 @@ int main() {
printf("\n");
printf("You decided to keep your current values. You can no longer have more cards. Your final score is : %d\n", sum2);
}
if(isWindows() == 1) getchar();
waitUser();
clearUserScreen();
acc = 2;
//on a le tour du croupier ici
//si sa main est <= 16, il va tirer d'autres cartes jusqu'au moment où il aura > 16 points
//s'il dépasse 21 points, tout le monde qui n'a pas fait plus de 21 points antérieurement gagne
printf("-- THIS IS THE DEALER'S TURN --\n\n");
sleep(2);
@ -496,5 +545,15 @@ int main() {
waitUser();
printf("-- PROJET DE FIN DE SEMESTRE --\n\n");
printf("Université Paris 8\n");
printf("Mars - Avril 2021\n");
printf("L1-Z Informatique -- Département STN\n");
printf("Anri Kennel - Felipe Pereira Manfrin - Kévin Martins Da Veiga - William Nizet\n\n");
printf("Ce projet a été développé dans le cadre de l'UE 'Outils informatiques collaboratifs' avec Mme. Françoise Balmas");
waitUser();
return 0;
}