Facebook
From McHalt, 9 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 440
  1. #include <iostream>
  2. #include <time.h>
  3. #include <ctime>
  4. #include <cstdio>
  5. #include <windows.h>
  6. #include <stdlib.h>
  7. #include <conio.h>
  8. using namespace std;
  9. bool czyByla( int Liczba, int tab[], int ile )
  10. {
  11.     if( ile <= 0 )
  12.          return false;
  13.  
  14.     int i = 0;
  15.     do
  16.     {
  17.         if( tab[i] == Liczba )
  18.              return true;
  19.  
  20.         i++;
  21.     } while( i < ile );
  22.  
  23.     return false;
  24. }
  25. void powitanie()
  26. {
  27.     cout << "Witaj przybyszu!" << endl << "Wybierz z ponizszej listy co chcesz zrobic! (wpisz liczbe 0-2 z klawiatury!)" << endl;
  28. }
  29. void menu()
  30. {
  31.     cout << "[1]Instrukcja" << endl << "[2]Gra" << endl << "[0]Wyjscie" << endl;
  32. }
  33. void saper()
  34. {
  35.     srand( time( NULL ) );
  36.     int a;
  37.     int b;
  38.     int c;
  39.     int d;
  40.     int e = 0;
  41.     int h;
  42.     int strzal;
  43.     int wylosowane[1000];
  44.     int wylosowanych = 0;
  45.     string strzelone[20];
  46.  
  47.     for(int l=0; l<20; l++){
  48.         strzelone[l]="*";
  49.     }
  50.     a = ( rand() % 5 ) + 11;
  51.     b = ( rand() % 5 ) + 21;
  52.     c = ( rand() % 5 ) + 31;
  53.     d = ( rand() % 5 ) + 41;
  54.     cout << "Trafionych liczb: " << e << endl;
  55.     cout << "Zostalo: " << 16-e << endl << endl;
  56.     do
  57.     {
  58.         cout << endl << "  1 2 3 4 5";
  59.         h = 0;
  60.         for(int l=1;l<5;l++){
  61.                 cout << endl << l << " ";
  62.             cout << strzelone[h] << " ";
  63.                 h++;
  64.                 cout << strzelone[h] << " ";
  65.                 h++;
  66.                 cout << strzelone[h] << " ";
  67.                 h++;
  68.                 cout << strzelone[h] << " ";
  69.                 h++;
  70.                 cout << strzelone[h] << " ";
  71.                 h++;
  72.         }
  73.         cout << endl << endl << "Gdzie nie ma bomby?" << endl;
  74.         cin.clear();
  75.         cin.sync();
  76.         cin >> strzal;
  77.         system("cls");
  78.         bool wartosc1 = strzal >= 11 && strzal <= 15;
  79.         bool wartosc2 = strzal >= 21 && strzal <= 25;
  80.         bool wartosc3 = strzal >= 31 && strzal <= 35;
  81.         bool wartosc4 = strzal >= 41 && strzal <= 45;
  82.         bool wartosc5 = wartosc1 || wartosc2 || wartosc3 || wartosc4;
  83.         bool wartosc6 = cin.fail() || strzal < 11 || strzal > 15 && strzal < 21 || strzal > 25 && strzal < 31 || strzal > 35 && strzal < 41 || strzal > 45;
  84.         if( wartosc6 == true && strzal != 32123997  )
  85.         {
  86.             cout << "Zla liczba!" << endl;
  87.         }
  88.         if( cin.good() && strzal != a && strzal != b && strzal != c && strzal != d && czyByla( strzal, wylosowane, wylosowanych ) == false && wartosc5 == true )
  89.         {
  90.             cout << "Brawo! Trafionych liczb: ";
  91.             e++;
  92.             cout << e << endl << "Zostalo: " << 16-e << endl;
  93.             int o;
  94.             int licznik = 11;
  95.             int licznik2 = 0;
  96.             do{
  97.                 if (strzal == licznik){
  98.                     strzelone[licznik2] = "x";
  99.                     o = 1;
  100.                 }else{
  101.                     if(licznik == 15 || licznik == 25 || licznik == 35){
  102.                         licznik+=6;
  103.                         licznik2++;
  104.                     }else{
  105.                     licznik++;
  106.                     licznik2++;
  107.                     }
  108.                   o = 0;
  109.                 }
  110.             }while( o != 1);
  111.         }
  112.         if( cin.good() && strzal == a || strzal == b || strzal == c || strzal == d )
  113.         {
  114.             cout << "Niestety, trafiles na bombe!" << endl << "Ulozenie bomb:" << endl;
  115.         }
  116.         if( czyByla( strzal, wylosowane, wylosowanych ) == false)
  117.         {
  118.             wylosowane[ wylosowanych ] = strzal;
  119.             wylosowanych++;
  120.         }
  121.         else
  122.         {
  123.             if( strzal != 32123997 )
  124.                 cout << "Ta liczba juz padla!" << endl;
  125.         }
  126.         if( strzal == 32123997 )
  127.         {
  128.             cout << "Bomby sa na pozycjach: " << a << " " << b << " " << c << " " << d << endl;
  129.         }
  130.     }while ( strzal != a && strzal != b && strzal != c && strzal != d && e < 16 );
  131.  
  132.     if( e == 16 )
  133.     {
  134.         for(int l=0; l<20; l++){
  135.         if(strzelone[l]=="*"){
  136.             strzelone[l] = "o";
  137.         }
  138.         }
  139.         cout << "Yay! Udalo Ci sie! :D" << endl;
  140.         cout << endl << endl << endl << "  1 2 3 4 5";
  141.         h = 0;
  142.         for(int l=1;l<5;l++){
  143.                 cout << endl << l << " ";
  144.             cout << strzelone[h] << " ";
  145.                 h++;
  146.                 cout << strzelone[h] << " ";
  147.                 h++;
  148.                 cout << strzelone[h] << " ";
  149.                 h++;
  150.                 cout << strzelone[h] << " ";
  151.                 h++;
  152.                 cout << strzelone[h] << " ";
  153.                 h++;
  154.         }
  155.         system("pause");
  156.     }
  157.     if( e < 16 )
  158.     {
  159.         int o;
  160.         int licznik = 11;
  161.         int licznik2 = 0;
  162.         do{
  163.                 if (a == licznik){
  164.                     strzelone[licznik2] = "o";
  165.                     o = 1;
  166.                 }else{
  167.                     if(licznik == 15 || licznik == 25 || licznik == 35){
  168.                         licznik+=6;
  169.                         licznik2++;
  170.                     }else{
  171.                     licznik++;
  172.                     licznik2++;
  173.                     }
  174.                   o = 0;
  175.                 }
  176.             }while( o != 1);
  177.         do{
  178.                 if (b == licznik){
  179.                     strzelone[licznik2] = "o";
  180.                     o = 1;
  181.                 }else{
  182.                     if(licznik == 15 || licznik == 25 || licznik == 35){
  183.                         licznik+=6;
  184.                         licznik2++;
  185.                     }else{
  186.                     licznik++;
  187.                     licznik2++;
  188.                     }
  189.                   o = 0;
  190.                 }
  191.             }while( o != 1);
  192.         do{
  193.                 if (c == licznik){
  194.                     strzelone[licznik2] = "o";
  195.                     o = 1;
  196.                 }else{
  197.                     if(licznik == 15 || licznik == 25 || licznik == 35){
  198.                         licznik+=6;
  199.                         licznik2++;
  200.                     }else{
  201.                     licznik++;
  202.                     licznik2++;
  203.                     }
  204.                   o = 0;
  205.                 }
  206.             }while( o != 1);
  207.         do{
  208.                 if (d == licznik){
  209.                     strzelone[licznik2] = "o";
  210.                     o = 1;
  211.                 }else{
  212.                     if(licznik == 15 || licznik == 25 || licznik == 35){
  213.                         licznik+=6;
  214.                         licznik2++;
  215.                     }else{
  216.                     licznik++;
  217.                     licznik2++;
  218.                     }
  219.                   o = 0;
  220.                 }
  221.             }while( o != 1);
  222.  
  223.         for(int l=0; l<20; l++){
  224.         if(strzelone[l]=="*"){
  225.             strzelone[l] = "x";
  226.         }
  227.         }
  228.         cout << endl << endl << endl << "  1 2 3 4 5";
  229.         h = 0;
  230.         for(int l=1;l<5;l++){
  231.                 cout << endl << l << " ";
  232.             cout << strzelone[h] << " ";
  233.                 h++;
  234.                 cout << strzelone[h] << " ";
  235.                 h++;
  236.                 cout << strzelone[h] << " ";
  237.                 h++;
  238.                 cout << strzelone[h] << " ";
  239.                 h++;
  240.                 cout << strzelone[h] << " ";
  241.                 h++;
  242.         }
  243.         cout << endl << endl << endl << "Sprobuj jeszcze raz pozniej!" << endl << endl << endl;
  244.     }
  245.     Sleep(1500);
  246.     system("pause");
  247. }
  248. void instrukcja()
  249. {
  250.     cout << "Jest to gra typu saper." << endl << "Polega ona na tym, ze wyswietla sie na ekranie taka tablica:";
  251.     cout << endl << endl << "  1 2 3 4 5" << endl << "1 * * * * *" << endl << "2 * * * * *" << endl << "3 * * * * *" << endl << "4 * * * * *" << endl << endl;
  252.     cout << "Zadaniem gracza jest zgadywanie, gdzie nie kryja sie bomby." << endl << "Bomby sa cztery - po jednej w kazdym wierszu." << endl << endl << "Jezeli ominiesz wszystkie bomby - wygrywasz." << endl << "Jezeli jednak na jakas trafisz - koniec gry." << endl << endl;
  253.     Sleep(300);
  254.     cout << "Jak zgadywac? Wpisz wspolrzedne punktu (gwiazdki), np. 15 i zatwierdz klawiszem ENTER." << endl << endl;
  255.     Sleep(300);
  256.     cout << "Pierwsza cyfra to wiersz (cyfra po lewej) a druga to kolumna (na gorze)." << endl << endl;
  257.     cout << "Wcisnij dowolny klawisz, aby rozpoczac gre!";
  258.     getch();
  259.     system("cls");
  260. }
  261.  
  262. int main()
  263. {
  264.     powitanie();
  265.     int wybor;
  266.     do
  267.     {
  268.         menu();
  269.         do
  270.         {
  271.             wybor=getch();
  272.             if( wybor > 50 || wybor < 48 )
  273.             {
  274.                 system("cls");
  275.                 cout << "Zle! Wpisz liczbe 0-2!" << endl << endl;
  276.                 menu();
  277.             }
  278.         } while( wybor > 50 || wybor < 48 );
  279.         switch( wybor )
  280.         {
  281.         case 49:
  282.             system("cls");
  283.             instrukcja();
  284.         case 50:
  285.             system("cls");
  286.             saper();
  287.             system("cls");
  288.             break;
  289.         case 48:
  290.             system("cls");
  291.             cout << "To czesc ;)" << endl << "Odwiedz mnie jeszcze! :D" << endl;
  292.             break;
  293.         }
  294.     } while( wybor != 48 );
  295.  
  296.     cout << "Program wylaczy sie automatycznie za 5 sekund." << endl;
  297.     Sleep(2000);
  298.     cout << "3" << endl;
  299.     Sleep(1000);
  300.     cout << "2" << endl;
  301.     Sleep(1000);
  302.     cout << "1" << endl;
  303.     Sleep(1000);
  304.     return 0;
  305. }
  306.