<mosaic.cnfolio.com>
PROGRAM
  1. /*
  2.  
  3. START
  4.  
  5.    WHILE there have been less then 37 loops
  6.  
  7.        Add the loop number to a list of vaild numerical bets for a game of roulette.
  8.    
  9.    END WHILE
  10.    
  11.    Add the vaules  00, EVEN, ODD, BLACK and RED to the list of vaildbets.
  12.    
  13.    Read the four bets inputed and the corrisponding values of the bet.
  14.  
  15.    WHILE there have been less then 5 loops
  16.       
  17.       IF the bet value is positive and not a decimal.          
  18.       
  19.          THEN
  20.          
  21.             Reduce the number of invaild bets by 1.
  22.       
  23.       END IF   
  24.             
  25.       WHILE there have been less then 41 loops
  26.          
  27.          IF the inputed bet corrisponding to the primary loop matches on of the valid bets
  28.             
  29.             THEN
  30.                Reduce the number of invaild bets by 1
  31.       
  32.          END IF
  33.  
  34.       END WHILE
  35.  
  36.    END WHILE   
  37.  
  38.    IF the number of invalid bets equals 0
  39.       
  40.       THEN
  41.          
  42.          generate a random number between 0-37.
  43.          
  44.          out put the value of the random number.
  45.    
  46.          WHILE the number of loops is less then 5.
  47.               
  48.             IF useris betting on EVEN  
  49.                
  50.                THEN
  51.             IF the radom number generated is even
  52.                      
  53.                      THEN
  54.                         Output the value the user bet on and the vaulue of the bet 
  55.                         output the users winnings
  56.                         output the users profits 
  57.                      ELSE
  58.                         Output the value the user bet on and the vaulue of the bet
  59.                         output the users loses
  60.                         output the users profits
  61.                   END IF
  62.             END IF
  63.  
  64.             ELSE IF the user is betting on ODD
  65.    
  66.                THEN
  67.                   IF the radom number generated is ODD
  68.                      
  69.                      THEN
  70.                         
  71.                         Output the value the user bet on and the vaulue of the bet 
  72.                         output the users winnings
  73.                         output the users profits 
  74.                      ELSE
  75.                         Output the value the user bet on and the vaulue of the bet
  76.                         output the users loses
  77.                         output the users profits
  78.                   END IF   
  79.             END IF
  80.             ELSE IF  The user is betting on black
  81.  
  82.                THEN
  83.                
  84.                   WHILE the numbber of loops are less then 19
  85.                   
  86.                      IF the random number generate is a black number
  87.                         
  88.                         THEN 
  89.                            make y = 1
  90.                      END IF
  91.                      
  92.                      IF y=1
  93.                         THEN                 
  94.                            Output the value the user bet on and the vaulue of the bet 
  95.                            output the users winnings
  96.                            output the users profits 
  97.                         ELSE 
  98.                            Output the value the user bet on and the vaulue of the bet
  99.                            output the users loses
  100.                            output the users profits
  101.                      END IF
  102.                   END WHILE                     
  103.            END IF
  104.  
  105.             ELSE IF  The user is betting on red
  106.  
  107.                THEN
  108.                
  109.                   WHILE the numbber of loops are less then 19
  110.                   
  111.                      IF the random number generate is a red number
  112.                         
  113.                         THEN 
  114.                            make x = 1
  115.                      END IF
  116.                      
  117.                      IF x=1
  118.                         THEN
  119.                            Output the value the user bet on and the vaulue of the bet 
  120.                            output the users winnings
  121.                            output the users profits 
  122.                         ELSE 
  123.                            Output the value the user bet on and the vaulue of the bet
  124.                            output the users loses
  125.                            output the users profits
  126.                      END IF
  127.                   END WHILE               
  128.             END IF
  129.             
  130.             ELSE IF number generated is the same number the user bet on
  131.             
  132.                THEN         
  133.                   Output the value the user bet on and the vaulue of the bet 
  134.                   output the users winnings
  135.                   output the users profits         
  136.                ELSE       
  137.                   Output the value the user bet on and the vaulue of the bet
  138.                   Output the users loses
  139.                   Output the users profits
  140.          END WHILE
  141.  
  142.  
  143.  
  144.          display the total winnings
  145.  
  146.          display the total profit
  147.       ELSE
  148.          WHILE the number of loops is less then 4
  149.  
  150.             If the bet with the corrisponding loop number is invaild
  151.       
  152.                THEN
  153.                   display that this bet is in valaid
  154.             END IF
  155.  
  156.             IF  the bet value with the corrisponding loop number is invaild   
  157.             
  158.                THEN
  159.                   display that you can not bet this amount on a value
  160.  
  161.  
  162.          END WHILE
  163.  
  164.          display please insert diffrent bets and try again
  165.  
  166.    End IF
  167.  
  168. END
  169.  
  170. */   
  171.  
  172. #include <stdio.h>
  173. #include <time.h>
  174. #include <string.h>
  175.  
  176. int main (void)
  177. {
  178.  
  179.          printf("Welcome to Casino Royale");
  180.  
  181. char    betsplaced[4][6];
  182. char   betspossible[42][6];
  183. int      black[18]={2,4,6,8,10,11,13,15,17,19,20,22,24,26,29,31,33,35};
  184. int      red[18]={1,3,5,7,9,12,14,16,18,21,23,25,27,28,30,32,34,36};
  185. float  cashbeth[4];
  186. int      cashbet[4];
  187. int      cashvaild[4];
  188. int      betvaild[4];
  189. int      numbergen;
  190. int      winnings[5];
  191. int     profit[5];
  192. int      c, b, a, d, e, f, g,s;
  193. int      y=0;
  194. int      x=0;
  195.             
  196.         for( a =0; a<37; a++ )
  197.       {
  198.             sprintf(betspossible[a],"%d", a);                           /* this is too poperlate the array with all possible numerical bets?*/
  199.       }
  200.                  
  201.        
  202.       sprintf(betspossible[37], "00");       
  203.       sprintf(betspossible[38], "EVEN");
  204.       sprintf(betspossible[39], "ODD");
  205.       sprintf(betspossible[40], "BLACK");
  206.       sprintf(betspossible[41], "RED");
  207.       
  208.       scanf("%s %f %s %f %s %f %s %f", betsplaced[0], &cashbeth[0], betsplaced[1], &cashbeth[1], betsplaced[2], &cashbeth[2], betsplaced[3], &cashbeth[3]);
  209.      
  210.      for( c=0; c<4; c++)   
  211.          {
  212.             cashvaild[c]=1;
  213.             betvaild[c]=1;
  214.             
  215.             if((floor(cashbeth[c])==cashbeth[c])&&(cashbeth[c]>0))             /* This is to see if the inputs are decimle */
  216.                {                    
  217.                         cashvaild[c]=0;                                        /* provided the input is vaild set the error counter to zero */
  218.                         cashbet[c]= cashbeth[c];                                    /* Tranfer the  float array into a interger array*/
  219.                        
  220.                }
  221.          
  222.             
  223.             for( d=0; d<42; d++)                  
  224.                 {         
  225.                
  226.                   if(strcmp(betsplaced[c], betspossible[d])==0)                     /*Refrence the input bet with all vaild bets*/
  227.                   {               
  228.                      betvaild[c]=0;                 /*provided the input is vaild set the error counter to zero */
  229.                    }       
  230.                } 
  231.          }
  232.          
  233.       e=(betvaild[0]+betvaild[1]+betvaild[2]+betvaild[3]);                  /*add the total number of errors in the imputs*/
  234.       f=(cashvaild[0]+cashvaild[1]+cashvaild[2]+cashvaild[3]);
  235.       
  236.    
  237.       
  238.       if(( e==0)&&(f==0))                                        /*Provided the number of error is zero the code will continue if not it will go and print error*/
  239.       {     
  240.          srand(time(0));
  241.          numbergen = (rand() %38);                  /*Generate a random number between 0-37 to simulate the roulette wheel*/       
  242.          if(numbergen != 37)   
  243.          {
  244.             printf("\n\nThe Roulette wheel landed on number %d",numbergen);
  245.          }
  246.          else
  247.          {
  248.             printf("\n\nThe Roulette wheel landed on number 00 ");
  249.          }
  250.          
  251.          for( b = 0; b<4; b++)                                                      /*this allows for the bets two be procced where the bet number = the loop number*/
  252.          {
  253.             if(strcmp(betspossible[38], betsplaced[b])==0)                  /*this asks if the user bet on EVEN*/
  254.             { 
  255.                if ((numbergen%2 == 0)&&(numbergen != 0)&&(numbergen != 37))         /* filters the number generated to see if it is even, if it is display the winnings */
  256.                { 
  257.                   winnings[b]= (cashbet[b]*2);
  258.                   profit[b]=(winnings[b]-cashbet[b]);
  259.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  260.                   printf("\n You won %d for this bet", winnings[b]);
  261.                   printf("\n your profit for this bet is %d",profit[b]);
  262.                }
  263.              
  264.                else                                            /* the number wasnt even thus display the loss */
  265.                {
  266.                   winnings[b] = ((1)* cashbet[b]);
  267.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  268.                   printf("\n You lost %d for this bet", winnings[b]);
  269.                   winnings[b] = ((-1)*winnings[b]);
  270.                   profit[b]=winnings[b];
  271.                   printf("\n your profit for this bet is %d",profit[b]);
  272.                   
  273.                }
  274.                
  275.             }
  276.             
  277.             else if(strcmp(betspossible[39], betsplaced[b])==0)               /*this asks if the user bet on ODD*/
  278.             {
  279.                if ((numbergen%2 != 0)&&(numbergen != 0)&&(numbergen != 37))         /*this is ask if the the randomnumber generated is ODD if so display the winnings*/
  280.                { 
  281.                   winnings[b]= (cashbet[b]*2);
  282.                   profit[b]=(winnings[b]-cashbet[b]);
  283.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  284.                   printf("\n You won %d for this bet", winnings[b]);
  285.                   printf("\n your profit for this bet is %d",profit[b]);
  286.                }
  287.                else                                           
  288.                {
  289.                   winnings[b] = ((1)* cashbet[b]);
  290.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  291.                   printf("\n You lost %d for this bet", winnings[b]);
  292.                   winnings[b] = ((-1)*winnings[b]);                                 
  293.                   profit[b]=winnings[b];
  294.                   printf("\n your profit for this bet is %d",profit[b]);
  295.                   
  296.                }
  297.             } 
  298.             
  299.             else if(strcmp(betspossible[40], betsplaced[b])==0)                     /* this scans to see if the user bet on black*/
  300.             { 
  301.                for( g=0; g<36; g++)                 
  302.                {
  303.                   
  304.                   if(numbergen==black[g]){                                          /* cycle threw the array of black numbers and compares it to the randoms generated*/   
  305.                      y=1;
  306.                   }
  307.                }
  308.                
  309.                if(y==1)                     /* if the randomnumber generated matches the with a black number display the winnings*/
  310.                {
  311.                   winnings[b]= (cashbet[b]*2);
  312.                   profit[b]=(winnings[b]-cashbet[b]);
  313.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  314.                   printf("\n You won %d for this bet", winnings[b]);
  315.                   printf("\n your profit for this bet is %d",profit[b]);
  316.                }
  317.                else
  318.                {
  319.                   winnings[b] = ((1)* cashbet[b]);            
  320.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  321.                   printf("\n You lost %d for this bet", winnings[b]);
  322.                   winnings[b] = ((-1)*winnings[b]);
  323.                   profit[b]=winnings[b];
  324.                   printf("\n your profit for this bet is %d",profit[b]);
  325.                }
  326.             }
  327.             
  328.             else if(strcmp(betspossible[41], betsplaced[b])==0)                     /* this scans to see if the user bet on RED*/
  329.             {
  330.                for( g=0; g<36; g++)
  331.                {
  332.                   
  333.                   if(numbergen==red[g])                                             /* cycle threw the array of black numbers and compares it to the randoms generated*/
  334.                   {
  335.                      x=1;
  336.                   }
  337.                }
  338.                
  339.                if(x==1)
  340.                {
  341.                   winnings[b]= (cashbet[b]*2);
  342.                   profit[b]=(winnings[b]-cashbet[b]);
  343.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  344.                   printf("\n You won %d for this bet", winnings[b]);
  345.                   printf("\n your profit for this bet is %d",profit[b]);
  346.                }
  347.                else
  348.                {
  349.                   winnings[b] = ((1)* cashbet[b]);
  350.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  351.                   printf("\n You lost %d for this bet", winnings[b]);
  352.                   winnings[b] = ((-1)*winnings[b]);
  353.                   profit[b]=winnings[b];
  354.                   printf("\n your profit for this bet is %d",profit[b]);
  355.                }
  356.             }
  357.             
  358.           else if(strcmp(betspossible[numbergen], betsplaced[b])==0)                  /* compares the number generated with the numerical bets placed*/
  359.                {
  360.                winnings[b]= (cashbet[b]*36);
  361.                profit[b]=(winnings[b]-cashbet[b]);
  362.                printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  363.                printf("\n You won %d for this bet", winnings[b]);
  364.                printf("\n your profit for this bet is %d",profit[b]);
  365.             }
  366.            
  367.             else{
  368.                   winnings[b] = ((1)* cashbet[b]);
  369.                   printf("\n\nFor bet number %d \n You placed %d on %s ",(b+1), cashbet[b], betsplaced[b]);
  370.                   printf("\n You lost %d for this bet", winnings[b]);
  371.                   winnings[b] = ((-1)*winnings[b]);
  372.                   profit[b]=winnings[b];
  373.                   printf("\n your profit for this bet is %d",profit[b]);
  374.                   
  375.                }
  376.          } 
  377.        
  378.          winnings[4] = winnings[0] + winnings[1]+ winnings[2] + winnings[3];              /*this adds up all the winnings from each bet*/
  379.          profit[4]=profit[0]+profit[1]+profit[2]+profit[3];           /* This adds up all the profit from each bet*/
  380.          
  381.          printf("\n\nYour total winnings are %d", winnings[4]);                          
  382.          printf("\nYour total profit is %d",profit[4]);
  383.         }
  384.           else{                  
  385.               for(s=0; s<4; s++)                                                                      /*This cycles through each of the bets*/
  386.             { 
  387.                if(betvaild[s]==1)                                                                     /*If a bet placed has an error it will display it*/
  388.                {
  389.                   printf("\n\nERROR:\n Bet number %d is an invaild Bet ", (s+1), betsplaced[d]);
  390.                }         
  391.                
  392.                
  393.                if(cashvaild[s]==1)
  394.                {
  395.                   printf("\n\nERROR:\n The amount bet on bet number %d is invaild", (s+1));
  396.                }
  397.             }
  398.             
  399.             printf("\n\nPlease insert diffrent bets and try again");
  400.                            
  401.             
  402.          
  403.          }
  404.      
  405.          
  406. }