Introduction to programming – C Language tutorials

https://www.tutorialspoint.com/cprogramming/c_variables.htm

https://www.youtube.com/watch?v=AWliApDc61w Introduction to programming and programming languages: C Programming Tutorial 01
https://www.youtube.com/watch?v=xyBbocLXbNY Basics of computer’s memory and Getting started: C Programming Tutorial 02
https://www.youtube.com/watch?v=aMpsKnf6DrQ Writing and executing your first program: C Programming Tutorial 03

https://netbeans.org/
Install Netbeans editor or IDE to run programs. Note you can set it up for C and C++ or other programs as required. I went with C and C++ for now


NetBeans IDE Setup for C/C++ Development

http://bitcoinmacroeconomics.com/2017/02/12/c-language-tutorial-metallica-will-kick-ass/ C Language Tutorial – Metallica will kick your ass

Note: ./metallica
Note: cout = (sends to terminal)
Note: No need to go to local host, as I am already on a local host

Sample Code: Start below

#include

int main(int argc, char**argv) {
const std::string red(“\033[0;31m”);
const std::string reset(“\033\[0m”);

// Prints welcome message…
std::cout << “Hey Metal Heads, Welcome …\n” << std::endl; std::cout << red << “Metallica Will Kick Your Ass! \n” << reset << std::endl; // Prints arguments… if (argc > 1) {
std::cout << std::endl << “Arguments:” << std::endl; for (int i = 1; i < argc; i++) { std::cout << i << “: ” << argv[i] << std::endl; } } return 0; }

https://www.youtube.com/watch?v=4LbarXsdEbM Working with Integrated Development Environments (IDEs): C Programming Tutorial 04

https://www.youtube.com/watch?v=OSyjOvFbAGI&t=297s Data types, Constants and Variables – C Programming Tutorial 05

https://www.youtube.com/watch?v=xOIVXR35aI4&t=81s Input and Output: Printf and Scanf – C Programming Tutorial 06
https://www.youtube.com/watch?v=vvpDbhqPrww Using Arithmetic Operators – C Programming Tutorial 07

https://www.youtube.com/watch?v=zxb8DvLUqcM Know your data type: int – C Programming Tutorial 08

https://www.youtube.com/watch?v=5tPLyHCZdU0 Arrays in Programming

https://www.quora.com/What-is-the-difference-between-printf-and-scanf-in-the-C-language What is the difference between printf and scanf

Over 4.5 hour tutorial on C

// BlackjackFMJ
// BlackjackFMJ.c
//F. Marvin

//Work Cited
//———–
//Vladislav Shulman, Blackjack
//http://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html

//

//———-
//C includes
//———-
#include
#include
#include #include
#include

#define spade 06
#define club 05
#define diamond 04
#define heart 03
#define RESULTS “Blackjack.txt”

//—————-
//Global Variables
//—————-
int dealerCardOne,
dealersHand,
dealerHiddenCard,
dealerTotal,
gameBet,
gameCash = 500,
gameLoss,
gameWon,
nextCard,
nextSuite,
playerTotal = 0,
randomCard;

//——————-
//Function Prototypes
//——————-
void askOver(),
askTitle(),
cashTest(),
dealerBot(),
dealerFirstCard(),
fileResults(),
gameRules(),
gamePlay(),
gameStay();

int clubCard(),
diamondCard(),
gameBetting(),
heartCard(),
randCard(),
spadeCard();

/*************************************
DESCRIPTION- main
D00 Generate random seed for rand();
D01 Call askTitle to bring up startup screen;
D02 System pause;
Return;
**************************************/
int main(void)
{
/*L00*/ srand((unsigned) time(NULL));
/*L01*/ askTitle();
/*L02*/ system(“pause”);
return(0);
}//main

/*************************************
DESCRIPTION- askOver
D00 char choiceOne;

D01 Display ask to play again;
D02 Obtain choiceOne;
D03 While((choiceOne!=’Y’) && (choiceOne!=’y’) && (choiceOne!=’N’) && (choiceOne!=’n’))
{
Dispay incorrect choice;
Obtain choiceOne;
}//while
D04 If (choiceOne == yes)
{
System clear;
Call gamePlay;
}//If
D05 Else If (choiceOne == no)
{
Call fileResults;
Dispay closing;
System pause;
exit;
}//Else if
Return;
**************************************/
void
askOver()
{
/*L00*/ char choiceOne;

/*L01*/ printf(“Would you like to play again (please enter Y for Yes or N for No)?”);
/*L02*/ scanf_s(“\n%c”, &choiceOne);

/*L03*/ while((choiceOne!=’Y’) && (choiceOne!=’y’) && (choiceOne!=’N’) && (choiceOne!=’n’))
{
printf(“\n\nIncorrect choice. Please enter Y for Yes or N for No:”);
scanf_s(“%c”,&choiceOne);
}//while

/*L04*/ if((choiceOne == ‘Y’) || (choiceOne == ‘y’))
{
system(“cls”);
gamePlay();
}//if

/*L05*/ else if((choiceOne == ‘N’) || (choiceOne == ‘n’))
{
fileResults();
printf(“\n\nExiting Marvin’s Blackjack\n”);
printf(“—————————\n”);
system(“pause”);
exit(0);
}//else if
return;
}//askOver

/*************************************
DESCRIPTION- askTitle
D00 char choiceOne;
int choiceTwo;

D01 Display opening;
D02 Obtain choiceOne;
D03 While((choiceOne!=’Y’) && (choiceOne!=’y’) && (choiceOne!=’N’) && (choiceOne!=’n’))
{
Dispay incorrect choice;
Obtain choiceOne;
}//while
D04 If (choiceOne == yes)
{
System clear;
Display game choices;
Obtain choiceTwo;

D05 If((choiceTwo<1) || (choiceTwo>3)
{
Dispay incorrect choice;
Obtain choiceTwo;
}//If
D06 Switch (Choicetwo)
{
Case 1:
System clear;
Call gamePlay;
Break;
Case 2:
System clear;
Call GameRules;
Break;
Case 3:
Display exiting game;
System pause;
System exit;
Break;
Default:
Display Invalid input;
}//Switch
}//If
D07 Else If((choiceOne == ‘N’) || (choiceOne == ‘n’))
{
Display exiting game;
System pause;
System exit;
}//Else If
Return;
**************************************/
void
askTitle()
{
/*L00*/ char choiceOne;
int choiceTwo;

/*L01*/ printf(“Entering Marvin’s Blackjack\n”);
printf(“—————————\n”);
printf(“|%c Are you ready? %c|\n”, spade, spade);
printf(“—————————\n”);
printf(” (Y/N)\n “);
/*L02*/ scanf_s(“\n %c”,&choiceOne);

/*L03*/ while((choiceOne!=’Y’) && (choiceOne!=’y’) && (choiceOne!=’N’) && (choiceOne!=’n’))
{
printf(“\n”);
printf(“Incorrect choice. Please enter Y for Yes or N for No.\n”);
scanf_s(“%c”,&choiceOne);
}

/*L04*/ if((choiceOne == ‘Y’) || (choiceOne == ‘y’))
{
system(“cls”);
printf(“Enter 1 to begin the greatest game ever played.\n”);
printf(“Enter 2 to see a complete listing of rules.\n”);
printf(“Enter 3 to Exit Game.\n” );
printf(“Choice: “);
scanf_s(“\n%d”, &choiceTwo);

/*L05*/ if((choiceTwo<1) || (choiceTwo>3))
{
printf(“Incorrect choice. Please enter 1, 2 or 3”);
scanf_s(“\n%d”, &choiceTwo);
}
/*L06*/ switch(choiceTwo)
{
case 1:
system(“cls”);
gamePlay();
break;

case 2:
system(“cls”);
gameRules();
break;

case 3:
printf(“Your day could have been perfect.\n”);
printf(“Have an almost perfect day!\n\n”);
printf(“Exiting Marvin’s Blackjack\n”);
printf(“—————————\n”);
system(“pause”);
exit(0);
break;

default:
printf(“Invalid Input\n”);
}//switch
}//if

/*L07*/ else if((choiceOne == ‘N’) || (choiceOne == ‘n’))
{
printf(“Your day could have been perfect.\n”);
printf(“Have an almost perfect day!\n\n”);
printf(“Exiting Marvin’s Blackjack\n”);
printf(“—————————\n”);
system(“pause”);
exit(0);
}//else if
return;
}//askTitle

/*************************************
DESCRIPTION- cashTest
D00 If (gameCash is less than or equal to zero)
{
Display bankrupt and game over;
Set gameCash = 500;
Call askOver;
}//If
**************************************/
void
cashTest()
{
/*L00*/ if (gameCash <= 0)
{
printf(“You are bankrupt. Game Over\n”);
gameCash = 500;
askOver();
}//if
}//cashTest

/*************************************
DESCRIPTION- dealerBot
D00 int moreCards;
D01 If (dealerTotal is less than 17)
{
Set moreCards = rand()%13 + 1;
D02 If(moreCards is less than or equals 10)
{
Set dealersHand to moreCards;
}//If
D03 If(moreCards is greater than 11)
{
Set dealersHand to 10;
}//If
D04 If(moreCards equals 11)
{
D05 If(moreCards less than or equal to 11)
{
Set dealerHand to 11;
}//If
D06 Else
{
Set dealersHand to 1;
}//Else
}//If
D07 Set dealerTotal to dealerTotal plus dealersHand;
}//If
D08 Display dealers visable hand;
**************************************/
void
dealerBot()
{
/*L00*/ int moreCards;

/*L01*/ if(dealerTotal < 17)
{
moreCards = rand()%13 + 1;
/*L02*/ if(moreCards <= 10) { dealersHand = moreCards; }//if /*L03*/ if(moreCards > 11)
{
dealersHand = 10;
}//if

/*L04*/ if(moreCards == 11)
{
/*L05*/ if(dealerTotal <= 10)
{
dealersHand = 11;
}//if

/*L06*/ else
{
dealersHand = 1;
}//else
}//if
/*L07*/ dealerTotal = dealerTotal + dealersHand;
}//if
/*L08*/ printf(“The dealer’s visible hand has a total of %d.\n\n”, dealerTotal – dealerHiddenCard);
}//dealerBot

/*************************************
DESCRIPTION- dealersFirstCard
D00 int cardHolder;

D01 Set cardHolder equal to rand()%13+1;
D02 If(cardHolder is less than or equal to 10)
{
Set DealerHiddenCard to cardHolder;
}//if
D03 If(cardHolder greater than 11)
{
Set dealerHiddenCard to 10;
}//If
D04 If(cardHolder is equal to 11)
{
D05 If(dealerCardOne is less than or equal to 10)
{
Set dealerHiddenCard to 11;
}//If

D06 Else
{
Set dealerHiddenCard to 1;
}//Else
}//if
D07 Set dealerTotal to dealerCardOne plus dealerHiddenCard;
**************************************/
void
dealerFirstCard()
{
/*L00*/ int cardHolder;

/*L01*/ cardHolder = rand()%13+1;
/*L02*/ if(cardHolder <= 10) { dealerHiddenCard = cardHolder; }//if /*L03*/ if(cardHolder > 11)
{
dealerHiddenCard = 10;
}//if

/*L04*/ if(cardHolder == 11)
{
/*L05*/ if(dealerCardOne <= 10)
{
dealerHiddenCard = 11;
}//if

/*L06*/ else
{
dealerHiddenCard = 1;
}//else
}//if
/*L07*/ dealerTotal = dealerCardOne + dealerHiddenCard;
}//dealersFirstCard

/*************************************
DESCRIPTION- fileResults
D00 FILE *fpresults;
D01 fpresults = fopen(RESULTS, “w”);
D02 If(fpresults is equal to NULL)
{
Display file missing;
System pause;
Exit(1);
}//If

D03 Else
{
Dispay results;
Display number of times won;
Display number of times lost;
}//Else
D04 fclose(fpresults);
Return;
**************************************/
void
fileResults()
{
/*L00*/ FILE *fpresults;
/*L01*/ fpresults = fopen(RESULTS, “w”);
/*L02*/ if(fpresults == NULL)
{
printf(“\nError: File Missing\n”);
system(“pause”);
exit(1);
}//if

/*L03*/ else
{
fprintf(fpresults,”\n\t RESULTS”);
fprintf(fpresults,”\n\t———\n”);
fprintf(fpresults,”\nYou Have Won %d Times\n”, gameWon);
fprintf(fpresults,”\nYou Have Lost %d Times\n”, gameLoss);
}//else
/*L04*/ fclose(fpresults);
return;
}//cashTest

/*************************************
DESCRIPTION- gameRules
D00 char choiceOne;

D01 Display game rules;
D02 Obtain choiceOne;

D03 While((choiceOne != ‘Y’) && (choiceOne != ‘y’) && (choiceOne != ‘N’) && (choiceOne != ‘n’))
{
Dispay incorrect choice;
Obtain choiceOne;
}//while
D04 If (choiceOne == yes)
{
System clear;
Call askTitle;
}//If
D05 Else If (choiceOne == no)
{
System clear;
Display I told you so;
Call askTitle;
}//Else If
Return:

**************************************/
void
gameRules()
{
/*L00*/ char choiceOne;

/*L01*/ printf(” RULES of MARVIN’S BLACKJACK\n”);
printf(“%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n”,
spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade,
spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade);
printf(“%c %c Thou shalt not question the odds of this game. %c\n”, spade, spade, spade);
printf(“%c %c This program generates cards at random. %c\n”, spade, spade, spade);
printf(“%c %c If you keep losing, you are very unlucky! %c\n”, spade, spade, spade);
printf(“%c %c Numbered cards 1 to 10 hold a value of their %c\n”, spade, spade, spade);
printf(“%c number. %c\n”, spade, spade, spade);
printf(“%c %c J, Q, and K cards hold a value of 10. %c\n”, spade, spade, spade);
printf(“%c %c Ace cards hold a value of 1 or 11 %c\n”, spade, spade, spade);
printf(“%c %c The goal of this game is to reach a card total %c\n”, spade, spade, spade);
printf(“%c value of 21. %c\n”, spade, spade);
printf(“%c %c You must place a bet after you receive your %c\n”, spade, spade, spade);
printf(“%c second card. %c\n”, spade, spade);
printf(“%c %c After the dealing of the first two cards, %c\n”, spade, spade, spade);
printf(“%c YOU must decide whether to HIT or STAY. %c\n”, spade, spade);
printf(“%c %c Staying will keep you safe, hitting will add %c\n”, spade, spade, spade);
printf(“%c a card. %c\n”, spade, spade, spade);
printf(“%c %c Because you are competing against the dealer, you %c\n”, spade, spade, spade);
printf(“%c must beat his hand. %c\n”, spade, spade);
printf(“%c %c But play wisely because you will not be able to %c\n”, spade, spade, spade);
printf(“%c see the dealer’s first card until his turn. %c\n”, spade, spade);
printf(“%c %c BUT BEWARE, if your total goes over 21, you %c\n”, spade, spade, spade);
printf(“%c will LOSE!. %c\n”, spade, spade);
printf(“%c %c If your hand ties the dealers hand at the end %c\n”, spade, spade, spade);
printf(“%c of the round, the round ends in a push and you %c\n”, spade, spade);
printf(“%c will not win or lose money on your bet. %c\n”, spade, spade);
printf(“%c %c But the world is not over, because you can %c\n”, spade, spade, spade);
printf(“%c always play again until you runout of money %c\n”, spade, spade);
printf(“%c before starting a new game. %c\n”, spade, spade);
printf(“%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n”,
spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade,
spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade);
printf(“%c Would you like to go the start screen? (I will %c\n”, spade, spade);
printf(“%c not take NO for an answer) %c\n”, spade, spade);
printf(“%c (Y/N) %c\n”, spade, spade);
printf(“%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n”,
spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade,
spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart,
club, club, heart, spade, spade, heart, club, club, heart, spade, spade, heart, club, club, heart, spade);
/*L02*/ scanf_s(” %c”,&choiceOne);

/*L03*/ while((choiceOne != ‘Y’) && (choiceOne != ‘y’) && (choiceOne != ‘N’) && (choiceOne != ‘n’))
{
printf(“\nIncorrect choice. Please enter Y for Yes or N for No:”);
scanf_s(“\n%c”,&choiceOne);
}//while

/*L04*/ if((choiceOne == ‘Y’) || (choiceOne == ‘y’))
{
system(“cls”);
askTitle();
}//if

/*L05*/ else if((choiceOne == ‘N’) || (choiceOne == ‘n’))
{
system(“cls”);
printf(“I told you so.\n”);
askTitle();
}//if else
return;
}//gameRules

/*************************************
DESCRIPTION- gamePlay
D00 int gamePlayer = 0;
int cardTotal = 1;
char choiceThree;

D01 gameCash = gameCash;
D02 Call cashTest;
D03 Display cash;
D04 Call randCard;
D05 Set playerTotal to gamePlayer plus nextSuite;
D06 Set gamePlayer to playerTotal;
D07 Call dealerFirstCard;
D08 Call randCard;
D09 Set playerTotal to gamePlayer plus nextSuite;
D10 Set gamePlayer to playerTotal;
D11 Display player total;
D12 Call dealerBot;
D13 Call gameBetting;

D14 While(cardTotal less than or equal to 21)
{
D15 If(gamePlayer equals 21)
{
Display dealer flips last card;
Display dealerTotal;
Set gameWon to gameWon plus 1;
Set gameCash to gameCash plus gameBet;
Display you win;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//If

D16 If(gamePlayer greater than 21)
{
Display dealer flips last card;
Display dealerTotal;
Set gameLoss to gameLoss plus 1;
Set gameCash to gameCash minus gameBet;
Display you bust;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//If

D17 If(gamePlayer Less than or equal to 21)
{
Obtain choiceThree;

D18 While((choiceThree!=’H’) && (choiceThree!=’h’) && (choiceThree!=’S’) && (choiceThree!=’s’))
{
Display option to hit or stay;
Obtain choiceThree);
System clear;
}//While

D19 If((choiceThree == ‘H’) || (choiceThree == ‘h’))
{
Call randCard;
Set playerTotal to gamePlayer plus nextSuite;
Set gamePlayer to playerTotal;
Display player total
Call dealerBot;

D20 If(gamePlayer greater than 21)
{
Set gameLoss to gameLoss plus 1;
Set gameCash to gameCash minus gameBet;
Display you bust;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//If

D21 If(dealerTotal is equal to 21)
{
Display dealer flips last card;
Display dealerTotal;
Set gameLoss to gameLoss plus 1;
Set gameCash to gameCash minus gameBet;
Display dealer has a better hand you lose;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//if

D22 If(dealerTotal greater than 21)
{
Display dealer flips last card;
Display dealerTotal;
Set gameWon to gameWon plus 1;
Set gameCash to gameCash plus gameBet;
Display dealer busts you win;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//if
}//if
D23 If((choiceThree==’S’) || (choiceThree==’s’))
{
Display you have chosen to stay at playerTotal;
Call gameStay;
}//If
}//While
D24 cardTotal++;
}//While
**************************************/
void
gamePlay()
{
/*L00*/ int gamePlayer = 0;
int cardTotal = 1;
char choiceThree;

/*L01*/ gameCash = gameCash;
/*L02*/ cashTest();
/*L03*/ printf(“Cash: $%d”, gameCash);
/*L04*/ randCard();
/*L05*/ playerTotal = gamePlayer + nextSuite;
/*L06*/ gamePlayer = playerTotal;
/*L07*/ dealerFirstCard();
/*L08*/ randCard();
/*L09*/ playerTotal = gamePlayer + nextSuite;
/*L10*/ gamePlayer = playerTotal;
/*L11*/ printf(“Your total is %d.\n”, gamePlayer);
/*L12*/ dealerBot();
/*L13*/ gameBetting();

/*L14*/ while(cardTotal <= 21) { /*L15*/ if(gamePlayer == 21) { printf(“The dealer flips his last card over and…\n”); printf(“The dealer has a total of %d.\n\n”, dealerTotal); gameWon = gameWon + 1; gameCash = gameCash + gameBet; printf(“You Win!\n”); printf(“You have %d wins and %d losses.\n”, gameWon, gameLoss); dealerTotal = 0; askOver(); }//if /*L16*/ if(gamePlayer > 21)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d.\n\n”, dealerTotal);
gameLoss = gameLoss + 1;
gameCash = gameCash – gameBet;
printf(“You bust. You lose.\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if

/*L17*/ if(gamePlayer <= 21) { scanf_s(“%c”,&choiceThree); /*L18*/ while((choiceThree!=’H’) && (choiceThree!=’h’) && (choiceThree!=’S’) && (choiceThree!=’s’)) { printf(“Would you like to Hit or Stay (please enter H to Hit or S to stay)?”); scanf_s(“%c”,&choiceThree); system(“cls”); }//while /*L19*/ if((choiceThree == ‘H’) || (choiceThree == ‘h’)) { randCard(); playerTotal = gamePlayer + nextSuite; gamePlayer = playerTotal; printf(“Your Total is %d.\n”, gamePlayer); dealerBot(); /*L20*/ if(gamePlayer > 21)
{
gameLoss = gameLoss + 1;
gameCash = gameCash – gameBet;
printf(“You bust. You lose.\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if

/*L21*/ if(dealerTotal == 21)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d.\n\n”, dealerTotal);
gameLoss = gameLoss + 1;
gameCash = gameCash – gameBet;
printf(“Dealer has the better hand. You lose.\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if

/*L22*/ if(dealerTotal > 21)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d and busts.\n\n”, dealerTotal);
gameWon = gameWon + 1;
gameCash = gameCash + gameBet;
printf(“Dealer has went over! You Win!\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if
}//if
/*L23*/ if((choiceThree==’S’) || (choiceThree==’s’))
{
printf(“You have chosen to stay at %d.\n”, playerTotal);
gameStay();
}//if
}//while
/*L24*/ cardTotal++;
}//while
}//gamePlay

/*************************************
DESCRIPTION- gameStay
D00 Call dealerBot;
D01 If(dealerTotal greater than or equal to 17)
{
D02 If(playerTotal greater than dealerTotal)
{
Display dealer flips last card;
Display dealerTotal;
Set gameWon to gameWon plus 1;
Set gameCash to gameCash plus gameBet;
Display you win;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//If

D03 If(playerTotal equals dealerTotal)
{
Display dealer flips last card;
Display dealerTotal;
Set gameWon to gameWon plus 0;
Set gameCash to gameCash plus 0;
Display round ends in a push;
Display wins and loses;
Set dealerTotal to 0;
Call askOver();
}//If

D04 If((playerTotal is less than dealerTotal) && (dealerTotal less than 21))
{
Display dealer flips last card;
Display dealerTotal;
Set gameLoss to gameLoss plus 1;
Set gameCash to gameCash minus gameBet;
Display dealer has a better hand you lose;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;
}//If

D05 If(dealerTotal greater than 21)
{
Display dealer flips last card;
Display dealerTotal;
Set gameWon to gameWon plus 1;
Set gameCash to gameCash plus gameBet;
Display dealer busts you win;
Display wins and loses;
Set dealerTotal to 0;
Call askOver;

}//If
}//If
D06 Else
{
Call gameStay;
}//Else
**************************************/
void
gameStay()
{
/*L00*/ dealerBot();
/*L01*/ if(dealerTotal >= 17)
{
/*L02*/ if(playerTotal > dealerTotal)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d.\n\n”, dealerTotal);
gameWon = gameWon + 1;
gameCash = gameCash + gameBet;
printf(“You Win!\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if

/*L03*/ if(playerTotal == dealerTotal)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d.\n\n”, dealerTotal);
gameWon = gameWon + 0;
gameCash = gameCash + 0;
printf(“The round ends in a push!\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();
}//if

/*L04*/ if((playerTotal < dealerTotal) && (dealerTotal < 21)) { printf(“The dealer flips his last card over and…\n”); printf(“The Dealer Has a Total of %d.\n\n”, dealerTotal); gameLoss = gameLoss + 1; gameCash = gameCash – gameBet; printf(“Dealer has the better hand. You lose.\n”); printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss); dealerTotal = 0; askOver(); }//if /*L05*/ if(dealerTotal > 21)
{
printf(“The dealer flips his last card over and…\n”);
printf(“The dealer has a total of %d and busts.\n\n”, dealerTotal);
gameWon = gameWon + 1;
gameCash = gameCash + gameBet;
printf(“The dealer went over. You Win!\n”);
printf(“You have %d wins and %d losses.\n\n”, gameWon, gameLoss);
dealerTotal = 0;
askOver();

}//if
}//if
/*L06*/ else
{
gameStay();
}//else
}//gameStay

/*************************************
DESCRIPTION- clubCard

D00 Set nextCard to rand()%13 + 1;
D01 If(nextCard is less than or equal to 9)
{
Display number card;
}//If

D02 If(nextCard is equal to 10)
{
Display jack;
}//If

D03 If(nextCard is equal to 11)
{
Display ace;

D04 If (playerTotal greater than 11)
{
Set nextCard to 1;
}//If

D05 Else
{
Set nextCard to 11;
}//Else
}//If

D06 If(nextCard is equal to 12)
{
Display queen;
Set nextCard to 10;
}//if

D07 If(nextCard is equal to 13)
{
Display king;
Set nextCard to 10;
}//If
Return nextCard;
**************************************/
int
clubCard()
{
/*L00*/ nextCard = rand()%13 + 1;

/*L01*/ if(nextCard <= 9) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, club, 179); printf(“%c %d %c\n”, 179, nextCard, 179); printf(“%c %c%c\n”, 179, club, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L02*/ if(nextCard == 10) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, club, 179); printf(“%c J %c\n”, 179, 179); printf(“%c %c%c\n”, 179, club, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L03*/ if(nextCard == 11) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, club, 179); printf(“%c A %c\n”, 179, 179); printf(“%c %c%c\n”, 179, club, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); /*L04*/ if (playerTotal > 11)
{
nextCard = 1;
}//if

/*L05*/ else
{
nextCard = 11;
}//else
}//if

/*L06*/ if(nextCard == 12)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, club, 179);
printf(“%c Q %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, club, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if

/*L07*/if(nextCard == 13)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, club, 179);
printf(“%c K %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, club, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if
return nextCard;
}//clubCard

/*************************************
DESCRIPTION- diamondCard

D00 Set nextCard to rand()%13 + 1;
D01 If(nextCard is less than or equal to 9)
{
Display number card;
}//If

D02 If(nextCard is equal to 10)
{
Display jack;
}//If

D03 If(nextCard is equal to 11)
{
Display ace;

D04 If (playerTotal greater than 11)
{
Set nextCard to 1;
}//If

D05 Else
{
Set nextCard to 11;
}//Else
}//If

D06 If(nextCard is equal to 12)
{
Display queen;
Set nextCard to 10;
}//if

D07 If(nextCard is equal to 13)
{
Display king;
Set nextCard to 10;
}//If
Return nextCard;
**************************************/
int
diamondCard()
{
/*L00*/ nextCard = rand()%13 + 1;

/*L01*/ if(nextCard <= 9) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, diamond, 179); printf(“%c %d %c\n”, 179, nextCard, 179); printf(“%c %c%c\n”, 179, diamond, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L02*/ if(nextCard == 10) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, diamond, 179); printf(“%c J %c\n”, 179, 179); printf(“%c %c%c\n”, 179, diamond, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L03*/ if(nextCard == 11) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, diamond, 179); printf(“%c A %c\n”, 179, 179); printf(“%c %c%c\n”, 179, diamond, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); /*L04*/ if (playerTotal > 11)
{
nextCard = 1;
}//if

/*L05*/ else
{
nextCard = 11;
}//else
}//if

/*L06*/ if(nextCard == 12)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, diamond, 179);
printf(“%c Q %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, diamond, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if

/*L07*/ if(nextCard == 13)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, diamond, 179);
printf(“%c K %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, diamond, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if
return nextCard;
}//diamondCard

/*************************************
DESCRIPTION- gameBetting
D00 Display enter bet;
D01 Obtain bet;

D02 If (gameBet > gameCash)
{
Display error;
Display enter bet;
Obtain bet;
Return gameBet;
}//If

D03 Else
{
Return gameBet;
}//Else

**************************************/
int
gameBetting()
{
/*L00*/ printf(“Enter bet: $”);
/*L01*/ scanf_s(“\n%d”, &gameBet);

/*L02*/ if (gameBet > gameCash)
{
printf(“You cannot bet more money than you have.\n”);
printf(“Enter Bet: “);
scanf_s(“\n%d”, &gameBet);
return gameBet;
}//if

/*L03*/ else
{
return gameBet;
}//else
}//gameBetting

/*************************************
DESCRIPTION- heartCard
D00 Set nextCard to rand()%13 + 1;
D01 If(nextCard is less than or equal to 9)
{
Display number card;
}//If

D02 If(nextCard is equal to 10)
{
Display jack;
}//If

D03 If(nextCard is equal to 11)
{
Display ace;

D04 If (playerTotal greater than 11)
{
Set nextCard to 1;
}//If

D05 Else
{
Set nextCard to 11;
}//Else
}//If

D06 If(nextCard is equal to 12)
{
Display queen;
Set nextCard to 10;
}//if

D07 If(nextCard is equal to 13)
{
Display king;
Set nextCard to 10;
}//If
Return nextCard;
**************************************/
int
heartCard()
{
/*L00*/nextCard = rand()%13 + 1;

/*L01*/ if(nextCard <= 9) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, heart, 179); printf(“%c %d %c\n”, 179, nextCard, 179); printf(“%c %c%c\n”, 179, heart, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L02*/ if(nextCard == 10) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, heart, 179); printf(“%c J %c\n”, 179, 179); printf(“%c %c%c\n”, 179, heart, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L03*/ if(nextCard == 11) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, heart, 179); printf(“%c A %c\n”, 179, 179); printf(“%c %c%c\n”, 179, heart, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); /*L04*/ if (playerTotal > 11)
{
nextCard = 1;
}//if

/*L05*/ else
{
nextCard = 11;
}//else
}//if

/*L06*/ if(nextCard == 12)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, heart, 179);
printf(“%c Q %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, heart, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if

/*L07*/ if(nextCard == 13)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, heart, 179);
printf(“%c K %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, heart, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if
return nextCard;
}//heartCard

/*************************************
DESCRIPTION- randCard
D00 Set randomCard to rand()%4 + 1;

D01 If(randomCard equals 1)
{
Call clubCard;
Set nextSuite to nextCard;
}//If

D02 If(randomCard equals 2)
{
Call diamondCard;
Set nextSuite to nextCard;
}//If

D03 If(randomCard equals 3)
{
Call heartCard;
Set nextSuite to nextCard;
}//If

D04 If(randomCard == 4)
{
Call spadeCard;
Set nextSuite to nextCard;
}//If
Return nextSuite;
**************************************/
int
randCard()
{
/*L00*/ randomCard = rand()%4 + 1;

/*L01*/ if(randomCard == 1)
{
clubCard();
nextSuite = nextCard;
}//if

/*L02*/ if(randomCard == 2)
{
diamondCard();
nextSuite = nextCard;
}//if

/*L03*/ if(randomCard == 3)
{
heartCard();
nextSuite = nextCard;
}//if

/*L04*/ if(randomCard == 4)
{
spadeCard();
nextSuite = nextCard;
}//if
return nextSuite;
}//randCard

/*************************************
DESCRIPTION- spadeCard
D00 Set nextCard to rand()%13 + 1;
D01 If(nextCard is less than or equal to 9)
{
Display number card;
}//If

D02 If(nextCard is equal to 10)
{
Display jack;
}//If

D03 If(nextCard is equal to 11)
{
Display ace;

D04 If (playerTotal greater than 11)
{
Set nextCard to 1;
}//If

D05 Else
{
Set nextCard to 11;
}//Else
}//If

D06 If(nextCard is equal to 12)
{
Display queen;
Set nextCard to 10;
}//if

D07 If(nextCard is equal to 13)
{
Display king;
Set nextCard to 10;
}//If
Return nextCard;
**************************************/
int
spadeCard()
{
/*L00*/ nextCard = rand()%13 + 1;

/*L01*/ if(nextCard <= 9) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, spade, 179); printf(“%c %d %c\n”, 179, nextCard, 179); printf(“%c %c%c\n”, 179, spade, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L02*/ if(nextCard == 10) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, spade, 179); printf(“%c J %c\n”, 179, 179); printf(“%c %c%c\n”, 179, spade, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); }//if /*L03*/ if(nextCard == 11) { printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191); printf(“%c%c %c\n”, 179, spade, 179); printf(“%c A %c\n”, 179, 179); printf(“%c %c%c\n”, 179, spade, 179); printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217); /*L04*/ if (playerTotal > 11)
{
nextCard = 1;
}//if

/*L05*/ else
{
nextCard = 11;
}//else
}//if

/*L06*/ if(nextCard == 12)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, spade, 179);
printf(“%c Q %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, spade, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if

/*L07*/ if(nextCard == 13)
{
printf(“\n%c%c%c%c%c%c%c\n”, 218,196,196,196,196, 196,191);
printf(“%c%c %c\n”, 179, spade, 179);
printf(“%c K %c\n”, 179, 179);
printf(“%c %c%c\n”, 179, spade, 179);
printf(“%c%c%c%c%c%c%c\n\n”, 192,196,196,196,196, 196,217);
nextCard = 10;
}//if
return nextCard;
}//spadeCard
//BlackjackFMJ.c

Leave a Reply

Your email address will not be published. Required fields are marked *