This seems to work except the random number thing.
I'm new to C so any help would be awesome.
Code:#include <stdio.h> #include <time.h> #include <string.h> //Define All Global Variables Here int MinNumber,MaxNumber,Hand,Dealer,Turn; char action[20]; char *HitIt = "h"; char *Stay = "s"; char *DealIt = "d"; char *Quit = "q"; //Define All Functions Here int getrand(int min, int max); int srand(unsigned); int rand(); void Hit(); void Deal(); void PlayerHit(); void DealerHit(); void Determine(); int main(int argc, const char * argv[]) { MaxNumber = 11; MinNumber = 0; Hand = 0; Dealer = 0; Turn = 1; srand(time(NULL)); Deal(); Determine(); return 0; } // Gets two random numbers from 1 to 13 and adds them together and sets the Hand variable to it // Gets two random numbers from 1 to 13 and adds them together and sets the Dealer variable to it void Deal() { Hand = getrand(MinNumber,MaxNumber)+getrand(MinNumber,Max Number); Dealer = getrand(MinNumber,MaxNumber)+getrand(MinNumber,Max Number); Turn = 1; if(Dealer > 20 || Hand > 20) { printf("\n\nSorry but there was an error :(\n"); printf("\t Player"); printf("\t Dealer \t\n"); printf("\t %i \t",Hand); printf("\t %i \t\n\n",Dealer); } } // Adds a random number from 1-13 to the players hand variable void PlayerHit() { if(Turn == 1) { Hand += getrand(MinNumber, MaxNumber); } else { printf("Sorry But there was an error"); } } // Adds a random number from 1-13 to the dealers Dealer variable void DealerHit() { if(Turn == 0) { Dealer += getrand(MinNumber, MaxNumber); } else { printf("Sorry But there was a dealer error"); } } void Determine() { if(action != NULL) { if(strcmp(action,HitIt) == 0) { Turn = 1; PlayerHit(); } if(strcmp(action,Stay) == 0) { if(Dealer < 17) { Turn = 0; DealerHit(); } } if(strcmp(action,DealIt) == 0) { printf("\nNew Hand\n\n"); Deal(); } } if(Turn == 0) { if(Dealer < 17) { DealerHit(); Determine(); } else if((Dealer < Hand) && (Hand <= 21)) { DealerHit(); Determine(); } } // Start Determining who wins if(Hand == 21 && Dealer != 21) { printf("Player:\t %i Black Jack!! you Win\n",Hand); printf("Dealer:\t %i",Dealer); printf("\nDeal(d): "); scanf("%s",action); Determine(); } else if(Dealer == 21) { printf("Player:\t %i\n",Hand); printf("Dealer:\t %i Black Jack!! Dealer Wins",Dealer); printf("\nDeal(d): "); scanf("%s",action); Determine(); } else if(Hand > 21 && Dealer < 21) { printf("Player:\t %i you busted!! \n",Hand); printf("Dealer:\t %i Dealer Wins",Dealer); printf("\nDeal(d): "); scanf("%s",action); Determine(); } else if(Hand < 21 && Dealer > 21) { printf("Player:\t %i you Win\n",Hand); printf("Dealer:\t %i Dealer busted!!",Dealer); printf("\nDeal(d): "); scanf("%s",action); Determine(); } else if(Hand > 21 && Dealer > 21) { printf("Player:\t %i you Busted!!\n",Hand); printf("Dealer:\t %i dealer busted!!",Dealer); printf("\nDeal(d): "); scanf("%s",action); Determine(); } else { if(Turn == 1) { if(Dealer > Hand) { printf("Player:\t %i\n",Hand); printf("Dealer:\t %i",Dealer); printf("\nYou can Hit(h), or stay(s): "); scanf("%s",action); Determine(); } else { printf("Player:\t %i\n",Hand); printf("Dealer:\t %i",Dealer); printf("\nYou can Hit(h), or stay(s): "); scanf("%s",action); Determine(); } } } } // Generates a Random number between Min and Max int getrand(int Min,int Max){ return(rand()%(Max-Min)+Min); }



LinkBack URL
About LinkBacks


