Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 4th, 2012  |  syntax: C++  |  size: 4.95 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <ctime>
  4. #include <clocale>
  5. #include <ctype.h>
  6. using namespace std;
  7.  
  8. int menu(int pengar);
  9. int insattning();
  10. void visaPengar(int pengar);
  11. int play(char a[3][3], int sats);
  12. char random_sign();
  13. void initsieraBoard(char * ptr);
  14. int checkBoard(char a[3][3]);
  15. int satsning(int pengar);
  16.  
  17. int main() {
  18.  
  19.     //VARIABEL DEKLARATION
  20.     srand(time(0));
  21.     setlocale(LC_ALL, "swedish");
  22.     int pengar = 0;
  23.     int sats = 0;
  24.     int vinstEllerForlust = 0;
  25.     int val;
  26.     char board[3][3];
  27.     char * x = &board[0][0];
  28.    
  29.    
  30.     val = menu(pengar);
  31.     switch(val) {
  32.                      
  33.          case 1:
  34.               pengar = insattning();
  35.               break;
  36.          case 2:
  37.               exit(1);
  38.     }
  39.    
  40.     while(1) {
  41.              
  42.         visaPengar(pengar);
  43.         sats = satsning(pengar);
  44.  
  45.         initsieraBoard(x);  
  46.         vinstEllerForlust = play(board, sats);
  47.  
  48.         if (vinstEllerForlust < 1)
  49.               pengar -= sats;
  50.         else
  51.               pengar += vinstEllerForlust;  
  52.     }
  53.    
  54.  
  55.     fflush(stdin);
  56.     getchar();
  57. return 0;
  58. }
  59.  
  60. int satsning(int pengar) {
  61.     int sats = 0;
  62.     char val;
  63.     while (sats == 0 || sats > pengar) {
  64.    
  65.     if (pengar == 0) {
  66.        cout << "Du har inga pengar kvar!\n";
  67.        Sleep(2000);
  68.        exit(1);
  69.     }
  70.        
  71.     sats = 0;
  72.    
  73.     cout << "Spela? [J/N]\n";
  74.     cout << "Val: ";
  75.     cin >> val;
  76.    
  77.     if (val == 'j' || val == 'J') {
  78.         cout << "Hur mycket vill du satsa: ";
  79.         cin >> sats;
  80.        
  81.         if (sats > pengar)
  82.            cout << "Du kan inte satsa så mycket!\n";
  83.     }
  84.     else
  85.         exit(1);
  86.     }
  87.    
  88. return sats;
  89. }
  90.  
  91. //Spelet
  92. int play(char a[3][3], int sats) {
  93.          
  94.      int vinstGgr = 0;      
  95.      
  96.      for (int i = 0; i < 3 ; i++) {
  97.          for (int j = 0; j < 3; j++) {
  98.              
  99.              cout <<"["<<a[i][j]<<"] ";
  100.          }
  101.          cout << "\n";
  102.      }
  103.      
  104.     vinstGgr = checkBoard(a);
  105.    
  106.     switch(vinstGgr) {
  107.    
  108.  
  109.     case 1:
  110.          sats *= 2;
  111.          break;                
  112.     case 2:
  113.          sats *= 4;
  114.          break;
  115.     case 3:
  116.          sats *= 8;
  117.          break;
  118.     case 4:
  119.          sats *= 16;
  120.          break;
  121.     case 5:
  122.          sats *= 128;
  123.          break;
  124.     default :
  125.             sats = 0;
  126.             break;
  127.                      
  128.     }
  129. return sats;    
  130. }
  131.  
  132. void visaPengar(int pengar) {
  133.  
  134.      cout << "\nDu har: " << pengar << "kr!" << endl;
  135. }
  136.  
  137.  
  138.  
  139.  
  140.  
  141. //Initsiera bräde
  142. void initsieraBoard(char * ptr) {
  143.          
  144.      for (int i = 0; i < 9 ; i++) {
  145.              
  146.              *(ptr + i) = random_sign();
  147.      }
  148. }
  149.  
  150. char random_sign() {
  151.    
  152.     char sign;  
  153.     int x = rand() % 3 + 1;
  154.    
  155.     switch(x) {
  156.    
  157.         case 1:
  158.              sign = 'X';
  159.              break;
  160.         case 2:        
  161.              sign = 'P';
  162.              break;
  163.         case 3:        
  164.              sign = 'O';
  165.              break;
  166.     }
  167. return sign;        
  168. }
  169.  
  170.  
  171.  
  172. // Alltid visas först.
  173. int menu(int pengar) {
  174.      
  175.      int val;
  176.      
  177.      cout << "---------------\n";
  178.      cout << "[1] Sätt in pengar.\n";
  179.      cout << "[2] Avsluta\n";
  180.      cout << "Val: ";
  181.      cin >> val;
  182.  
  183. return val;
  184. }
  185.  
  186. int insattning() {
  187.      
  188.      int val;
  189.      int insattning;
  190.      
  191.      system("CLS");
  192.      cout << "Välj vad du ska sätta in.\n";
  193.      cout << "[1] 50kr\n";    
  194.      cout << "[2] 100kr\n";    
  195.      cout << "[3] 500kr\n";
  196.      cin >> val;    
  197.      
  198.      switch(val) {
  199.            
  200.              case 1:
  201.                    insattning = 50;
  202.                    break;
  203.              case 2:
  204.                    insattning = 100;
  205.                    break;
  206.              case 3:
  207.                    insattning = 500;
  208.                    break;
  209.              default :
  210.                      cout << "Felaktigt värde!\n";
  211.                      break;
  212.      }
  213.      
  214. return insattning;
  215. }
  216.  
  217.  
  218. int checkBoard(char a[3][3]) {
  219.  
  220.     int vinst = 0;
  221.    
  222.     //Check diagonalen - Är båda ifyllda + 2, är bara 1 så +1
  223.     if (((a[0][0] == a[1][1]) && (a[0][0] == a[2][2])) && ((a[2][0] == a[1][1]) && (a[2][0] == a[0][2])))
  224.         vinst += 2;
  225.        
  226.     else if (((a[0][0] == a[1][1]) && (a[0][0] == a[2][2])) || ((a[2][0] == a[1][1]) && (a[2][0] == a[0][2])))
  227.         vinst += 1;
  228.    
  229.     //Horissontellt
  230.     if ((a[0][0] == a[0][1]) && (a[0][0] == a[0][2]))
  231.         vinst += 1;
  232.        
  233.     if ((a[1][0] == a[1][1]) && (a[1][0] == a[1][2]))
  234.         vinst += 1;
  235.        
  236.     if ((a[2][0] == a[2][1]) && (a[2][0] == a[2][2]))
  237.         vinst += 1;
  238.        
  239.     //Lodrätt
  240.     if ((a[0][0] == a[1][0]) && (a[0][0] == a[2][0]))
  241.         vinst += 1;
  242.    
  243.     if ((a[0][1] == a[1][1]) && (a[0][1] == a[2][1]))
  244.         vinst += 1;
  245.    
  246.     if ((a[0][2] == a[1][2]) && (a[0][2] == a[2][2]))
  247.         vinst += 1;
  248.  
  249. return vinst;                
  250. }