Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 21.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <conio.h>
  3. #include <string>
  4. #include <stdlib.h>
  5. #include <cstdlib>
  6. #include <windows.h>
  7. #include <cstdlib>
  8. #include <ctime>
  9. using namespace std;
  10. static const int n = 20;
  11. static const int m = 40;
  12. int macierz[n][m];
  13. unsigned char znak;
  14. int start = 1;
  15. HANDLE hOut;
  16.  //struktura przechowywująca współrzędne
  17. struct Position
  18. {
  19.     int x;
  20.     int y;
  21. };
  22.  
  23. /************************************************************/
  24. //klasa która odpowiada za rysowanie mapy i za funkcję z nią związane
  25.  
  26.  
  27.  // to co robi przeciwnik
  28. class komputer
  29. {
  30.     int poziom_dziala;
  31.     int poziomUlepszen;
  32.     int szansaZolniza;
  33.     int szansaTrafienia;
  34.     bool czyZolniez;
  35.     bool czyStrzal;
  36.    
  37.     public:
  38.         komputer();
  39.         void losowanie();
  40.         bool strzal();
  41.         void ulepszenie_dziala();
  42.         int getpoziom_ulepszen();
  43.         int wyslanie_zolnierza();
  44.         void zawrocZolnieza();
  45.         bool czyJestZolniez();
  46.         bool czyJestStrzal();
  47.         void nowyStrzal();
  48.        
  49. };
  50.  
  51. class mapa
  52. {
  53.         int xmax,ymax;
  54.     public:
  55.         void czyszczenie_mapy();
  56.         void rysowanie_mapy(komputer a);
  57.         void zerowanie_macierzy();
  58.         void budowanie_scian();
  59.         mapa(int a,int b);
  60. };
  61. //metody komputera
  62.  
  63. int komputer::getpoziom_ulepszen()
  64. {
  65.     return poziomUlepszen; 
  66. }
  67.  
  68. komputer::komputer()
  69. {
  70.     this->poziom_dziala = 0;
  71.     this->poziomUlepszen = 0;
  72.     this->szansaZolniza = 0;
  73.     this->szansaTrafienia = 0;
  74.     this->czyZolniez = false;
  75.     this->czyStrzal = false;
  76. }
  77.  //sprawdzanie czy odjac zycie
  78. bool komputer::czyJestStrzal()
  79. {
  80.     return czyStrzal;
  81. }
  82.  //po strzale zmiana stanu dziala aby moglo znowu ataowac
  83. void komputer::nowyStrzal()
  84. {
  85.     czyStrzal = false;
  86. }
  87.  //sprawdzenie czy zolnierz zostal wysłany
  88. bool komputer::czyJestZolniez()
  89. {
  90.     return czyZolniez;
  91. }
  92.  //odsyłanie z powrotem żołnierza do bazy
  93. void komputer::zawrocZolnieza()
  94. {
  95.     czyZolniez = false;
  96. }
  97.  // tutaj komputer decyduje co zrobi po naszym ruchu
  98. void komputer::losowanie()
  99. {
  100.     cout<<"komputer: "<<endl;
  101.    
  102.     int a=(( rand() % 4 ) + 0 );
  103.     if(a == 0)
  104.     {
  105.         cout<<"wysłanie zolnierza "<<endl;
  106.         cout<<"UWAGA: komputer ulepsza dzialo"<<endl;
  107.         czyZolniez = true;
  108.         ulepszenie_dziala();
  109.     }
  110.     else if(a == 1)
  111.     {
  112.         cout<<"rozbudowa zamku"<<endl;
  113.         poziomUlepszen++;
  114.     }
  115.     else if(a > 1)
  116.     {
  117.         cout<<"strzal z dziala"<<endl;
  118.         czyStrzal = strzal();
  119.     }
  120.  
  121. }
  122.  //losuje czy jest strzał, jezeli jest to s=true
  123. bool komputer::strzal()
  124. {
  125.     bool s = false;
  126.     for (int i = 0; i < poziom_dziala; i++)
  127.     {
  128.         int a = (( rand() % 10 ) + 0 );
  129.         if (a == 8)
  130.         {
  131.             s = true;
  132.         }
  133.     }
  134.     return s;
  135. }
  136.  
  137.  
  138. void komputer::ulepszenie_dziala()
  139. {
  140.     poziom_dziala++;
  141. }
  142.  
  143. int komputer::wyslanie_zolnierza()
  144. {
  145.     int a =(( rand() % 2 ) + 0 );
  146.     return a;
  147. }
  148.  
  149.  
  150. void mapa::czyszczenie_mapy()
  151. {
  152.   HANDLE                     hStdOut;
  153.   CONSOLE_SCREEN_BUFFER_INFO csbi;
  154.   DWORD                      count;
  155.   DWORD                      cellCount;
  156.   COORD                      homeCoords = { 0, 0 };
  157.  
  158.   hStdOut = GetStdHandle( STD_OUTPUT_HANDLE );
  159.   if (hStdOut == INVALID_HANDLE_VALUE) return;
  160.  
  161.   /* Get the number of cells in the current buffer */
  162.   if (!GetConsoleScreenBufferInfo( hStdOut, &csbi )) return;
  163.   cellCount = csbi.dwSize.X *csbi.dwSize.Y;
  164.  
  165.   /* Fill the entire buffer with spaces */
  166.   if (!FillConsoleOutputCharacter(
  167.     hStdOut,
  168.     (TCHAR) ' ',
  169.     cellCount,
  170.     homeCoords,
  171.     &count
  172.     )) return;
  173.  
  174.   /* Fill the entire buffer with the current colors and attributes */
  175.   if (!FillConsoleOutputAttribute(
  176.     hStdOut,
  177.     csbi.wAttributes,
  178.     cellCount,
  179.     homeCoords,
  180.     &count
  181.     )) return;
  182.   /* Move the cursor home */
  183.   SetConsoleCursorPosition( hStdOut, homeCoords );
  184.    
  185. }
  186.  
  187. void mapa::rysowanie_mapy(komputer a)
  188. {
  189.     hOut = GetStdHandle( STD_OUTPUT_HANDLE );
  190.     for(int i = 0; i<n; i++)
  191.         {
  192.             for (int j = 0; j<m; j++)
  193.             {
  194.                     if(macierz[i][j] == 7)
  195.                     {
  196.                         SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  197.                         cout << "#";
  198.                         SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
  199.                     }
  200.                    
  201.                     else if(macierz[i][j] == 2)
  202.                     {
  203.                         SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_RED | FOREGROUND_INTENSITY );
  204.                         cout << "G";
  205.                         SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
  206.                     }
  207.                
  208.                     else if (macierz[i][j] == 3)
  209.                     {
  210.                         SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY );
  211.                         cout << "Q";// Tu bedzie dzialo
  212.                         SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
  213.                     }
  214.  
  215.                     // Fortyfikacje                
  216.                     else if (macierz[i][j] == 4)
  217.                     {
  218.  
  219.                         if(a.getpoziom_ulepszen() == 0)
  220.                         {
  221.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY );
  222.                             cout << "x";
  223.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );
  224.                         }
  225.                         else if(a.getpoziom_ulepszen() == 1)
  226.                         {
  227.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  228.                             cout << "x";
  229.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  230.                         }
  231.                         else if(a.getpoziom_ulepszen() == 2)
  232.                         {
  233.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  234.                             cout << "x";
  235.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  236.                         }
  237.                          else if(a.getpoziom_ulepszen() == 3)
  238.                         {
  239.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY );
  240.                             cout << "X";
  241.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  242.                         }
  243.                          else if(a.getpoziom_ulepszen() == 4)
  244.                         {
  245.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  246.                             cout << "X";
  247.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  248.                         }
  249.                          else if(a.getpoziom_ulepszen() == 5)
  250.                         {
  251.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  252.                             cout << "X";
  253.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );  
  254.                         }  
  255.                           else if(a.getpoziom_ulepszen() == 6)
  256.                         {
  257.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  258.                             cout << "!";
  259.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  260.                         }
  261.                         else if(a.getpoziom_ulepszen() == 7)
  262.                         {
  263.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  264.                             cout << "!";
  265.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  266.                         }
  267.                          else if(a.getpoziom_ulepszen() == 8)
  268.                         {
  269.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY );
  270.                             cout << "!";
  271.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  272.                         }
  273.                          else if(a.getpoziom_ulepszen() == 9)
  274.                         {
  275.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  276.                             cout << "!";
  277.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  278.                         }
  279.                          else if(a.getpoziom_ulepszen() == 10)
  280.                         {
  281.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  282.                             cout << "X";
  283.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );  
  284.                         }  
  285.                         else if(a.getpoziom_ulepszen() == 11)
  286.                         {
  287.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  288.                             cout << "E";
  289.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  290.                         }
  291.                         else if(a.getpoziom_ulepszen() == 12)
  292.                         {
  293.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  294.                             cout << "E";
  295.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  296.                         }
  297.                          else if(a.getpoziom_ulepszen() == 13)
  298.                         {
  299.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY );
  300.                             cout << "E";
  301.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  302.                         }
  303.                          else if(a.getpoziom_ulepszen() == 14)
  304.                         {
  305.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  306.                             cout << "S";
  307.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  308.                         }
  309.                          else if(a.getpoziom_ulepszen() == 15)
  310.                         {
  311.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  312.                             cout << "S";
  313.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );  
  314.                         }  
  315.                           else if(a.getpoziom_ulepszen() == 16)
  316.                         {
  317.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  318.                             cout << "S";
  319.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  320.                         }
  321.                         else if(a.getpoziom_ulepszen() == 17)
  322.                         {
  323.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  324.                             cout << "=";
  325.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  326.                         }
  327.                          else if(a.getpoziom_ulepszen() == 18)
  328.                         {
  329.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY );
  330.                             cout << "=";
  331.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  332.                         }
  333.                          else if(a.getpoziom_ulepszen() == 19)
  334.                         {
  335.                             SetConsoleTextAttribute( hOut, FOREGROUND_RED | FOREGROUND_INTENSITY );
  336.                             cout << "=";
  337.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                          
  338.                         }
  339.                          else if(a.getpoziom_ulepszen() == 20)
  340.                         {
  341.                             SetConsoleTextAttribute( hOut, FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY );
  342.                             cout << "R";
  343.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );  
  344.                         }  
  345.                         else
  346.                         {
  347.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY );
  348.                             cout << "U";
  349.                             SetConsoleTextAttribute( hOut, FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_RED );                    
  350.                         }
  351.                     }
  352.                    
  353.                    
  354.                    
  355.                     else
  356.                     {
  357.                         cout << " ";
  358.                     }
  359.             }
  360.             cout << endl;
  361.         }
  362. }
  363.  
  364. void mapa::zerowanie_macierzy()
  365. {
  366.       // zerowanie macierzy
  367.     for(int i = 0; i<xmax; i++)
  368.     {
  369.         for (int j = 0; j<ymax; j++)
  370.         {
  371.                 macierz[i][j] = 0;
  372.         }
  373.     }
  374. }
  375.  
  376. void mapa::budowanie_scian()
  377. {
  378.       // Budowanie scian
  379.     for(int i = 0; i<n; i++)
  380.     {
  381.         for (int j = 0; j<m; j++)
  382.         {
  383.                 macierz[i][0] = 7;
  384.                 macierz[i][m-1] = 7;
  385.                 macierz[0][j] = 7;
  386.                 macierz[n-1][j] = 7;
  387.         }
  388.     }
  389. }
  390.  
  391.  
  392.  
  393.  
  394. mapa::mapa(int a,int b)
  395. {
  396.     this->xmax=a;
  397.     this->ymax=b;
  398.    
  399. }
  400.  
  401. /************************************************************/
  402.  
  403. class Object
  404. {
  405.  
  406.     public:
  407.         Position pozycja;
  408.         int getX(); // wyciaganie parametrow
  409.         int getY();
  410.         void setX(int x); // ustawianie parametrow
  411.         void setY(int y);
  412. };
  413.  
  414. int Object::getX()
  415. {
  416.     return pozycja.x;
  417. }
  418.  
  419. int Object::getY()
  420. {
  421.     return pozycja.y;
  422. }
  423.  
  424. void Object::setX(int x)
  425. {
  426.     pozycja.x = x;
  427. }
  428.  
  429. void Object::setY(int y)
  430. {
  431.     pozycja.y = y;
  432. }
  433. /************************************************************/
  434.  
  435. class Pokemen : public Object
  436. {  
  437.     int zycie;
  438.     bool czyPrzegrana;
  439.     public:
  440.         bool przegrana();
  441.         Pokemen(int x, int y, int z);
  442.         void rysuj(Pokemen p);
  443.         void ruch();
  444.         int getZycie();
  445.         void zmniejszZycie();
  446.         bool czyJestPrzegrana();
  447.        
  448. };
  449.  
  450. bool Pokemen::czyJestPrzegrana()
  451. {
  452.     return czyPrzegrana;
  453. }
  454.  
  455. bool Pokemen::przegrana()
  456. {
  457.     start = 0;
  458.     czyPrzegrana = true;
  459.     return czyPrzegrana;
  460. }
  461.  
  462. int Pokemen::getZycie()
  463. {
  464.     return zycie;
  465. }
  466.  
  467. void Pokemen::zmniejszZycie()
  468. {
  469.     zycie--;
  470. }
  471.  
  472. Pokemen::Pokemen(int x, int y, int z)
  473. {
  474.     setX(x);
  475.     setY(y);
  476.     this->zycie = z;
  477.     this->czyPrzegrana = false;
  478. }
  479.  
  480. void Pokemen::ruch()
  481. {    
  482.         znak = getch();
  483.         switch( znak )
  484.         {
  485.             case 'w': //strzałka w górę
  486.                 if(macierz[pozycja.x-1][pozycja.y] <1 || macierz[pozycja.x-1][pozycja.y] == 10 )
  487.                 {
  488.                    
  489.                     macierz[pozycja.x][pozycja.y] = 0;
  490.                     pozycja.x--;
  491.                     macierz[pozycja.x][pozycja.y] = 2;
  492.                     Beep(400,100);                
  493.                 }
  494.  
  495.                 break;
  496.             case 's': //strzałka w dół
  497.                 if(macierz[pozycja.x+1][pozycja.y] < 1 || macierz[pozycja.x+1][pozycja.y] == 10)
  498.                 {
  499.                     macierz[pozycja.x][pozycja.y] = 0;
  500.                     pozycja.x++;
  501.                     macierz[pozycja.x][pozycja.y] = 2;
  502.                      Beep(500,100);                    
  503.                 }
  504.            
  505.                 break;
  506.             case 'a': //strzałka w lewo
  507.                 if(macierz[pozycja.x][pozycja.y-1] < 1 || macierz[pozycja.x][pozycja.y-1] == 10)
  508.                 {
  509.                     macierz[pozycja.x][pozycja.y] = 0;
  510.                     pozycja.y--;
  511.                     macierz[pozycja.x][pozycja.y] = 2;
  512.                     Beep(440,100);                
  513.                 }
  514.  
  515.                 break;
  516.             case 'd': //strzałka w prawo
  517.                 if(macierz[pozycja.x][pozycja.y+1] < 1 || macierz[pozycja.x][pozycja.y+1] == 10)
  518.                 {
  519.                     macierz[pozycja.x][pozycja.y] = 0;
  520.                     pozycja.y++;
  521.                     macierz[pozycja.x][pozycja.y] = 2;
  522.                      Beep(600,100);                    
  523.                 }
  524.            
  525.                 break;
  526.  
  527.             case 27: //ESC
  528.                 start = 0;
  529.                 break;
  530.         }  
  531.        
  532. }
  533.  
  534. void Pokemen::rysuj(Pokemen p)
  535. {
  536.     macierz[p.getX()][p.getY()] = 2;
  537. }
  538.  
  539. class Zamek : public Object
  540. {
  541.     int licznik;
  542.     bool czyZwyciestwo;
  543.     friend class Pokemen;
  544.     public:
  545.         Zamek(int x, int y );
  546.         void Zwyciestwo(Pokemen a, komputer b);
  547.         bool czyJestWin();
  548.         int sprawdz_poziom_ulepszen(komputer a);
  549. };
  550.  
  551. int Zamek::sprawdz_poziom_ulepszen(komputer a)
  552. {
  553.     return a.getpoziom_ulepszen();
  554. }
  555.  
  556. Zamek::Zamek(int x, int y)
  557. {
  558.     setX(x);
  559.     setY(y);
  560.     licznik = 0;
  561.     czyZwyciestwo = false;
  562.     macierz[getX()][getY()] = 10;
  563. }
  564.  
  565. void Zamek::Zwyciestwo(Pokemen a, komputer b)
  566. {
  567.     if (a.getX() == getX() && a.getY() == getY())
  568.     {
  569.         licznik++;
  570.         if (licznik == sprawdz_poziom_ulepszen(b))
  571.         {
  572.             licznik = 0;
  573.             start = 0;
  574.             czyZwyciestwo = true;
  575.         }
  576.     }
  577. }
  578.  
  579. bool Zamek::czyJestWin()
  580. {
  581.     return czyZwyciestwo;
  582. }
  583.  
  584.  
  585.  
  586.  
  587. /************************************************************/
  588.  
  589.  
  590. int main()
  591. {
  592.     srand( time( NULL ) );
  593.     HANDLE hOut;
  594.     hOut = GetStdHandle( STD_OUTPUT_HANDLE );
  595.     int x = 3;
  596.     int y = 3;
  597.     int z ;
  598.     int licznik=0;
  599.    
  600.     cout<<"wbierz ilosc punktow zycia"<<endl;
  601.     cin>>z;
  602.    
  603.     komputer obrona;
  604.    
  605.     mapa narnia(n,m);  
  606.     narnia.zerowanie_macierzy();
  607.     narnia.budowanie_scian();
  608.     Zamek brama((n/2)-1,m/2+1);
  609.    
  610.     Pokemen gracz(x,y,z);
  611.     gracz.rysuj(gracz);
  612.    
  613.     // Pozycja dla bazy
  614.     macierz[(n-1)/2][(m-1)/2] = 3;
  615.    
  616.     // Wspolrzedne dla fortyfikacji
  617.     macierz[n/2][(m-1)/2] = 4;
  618.     macierz[n/2][m/2] = 4;
  619.     macierz[n/2][(m/2)-2] = 4;
  620.    
  621.     macierz[(n/2)-1][(m/2)-2] = 4;
  622.     macierz[(n/2)-1][m/2] = 4;
  623.    
  624.     macierz[(n/2)-2][(m-1)/2] = 4;
  625.     macierz[(n/2)-2][m/2] = 4;
  626.     macierz[(n/2)-2][(m/2)-2] = 4;
  627.          
  628.     while(start)
  629.     {
  630.         cout << "<<<<<<<<<<< ATAK POKEMENOW >>>>>>>>>>>>" << endl;
  631.         cout << "Wcisnij ESC aby wyjsc!";
  632.         cout << endl;
  633.  
  634.         obrona.losowanie();
  635.         cout<<"liczba ruchow: " << licznik << endl;
  636.         narnia.rysowanie_mapy(obrona);
  637.         cout << "TWOJE PUNKTY ZYCIA: " << gracz.getZycie() << endl;
  638.         cout <<"poziom ulepszenia bazy komputera :"<<obrona.getpoziom_ulepszen();
  639.         if(obrona.czyJestZolniez() == true)
  640.         {
  641.             obrona.zawrocZolnieza();          
  642.             if(obrona.wyslanie_zolnierza() > 0)
  643.             {
  644.                 cout << obrona.wyslanie_zolnierza() << endl;
  645.                 cout << "Zolniez nas nie zatrzymal" << endl;
  646.                 gracz.ruch();
  647.             }
  648.             else if(obrona.wyslanie_zolnierza() == 0)
  649.             {
  650.                 cout <<endl<< "Blada ruchu przez Zolnieza" << endl;
  651.                 Beep(350,1000);
  652.             }          
  653.         }
  654.         else
  655.         {
  656.             gracz.ruch();  
  657.         }
  658.  
  659.         if (obrona.czyJestStrzal() == true )
  660.         {
  661.             obrona.nowyStrzal(); // ustawianie starzlu na falsz
  662.             gracz.zmniejszZycie();
  663.         }
  664.        
  665.         brama.Zwyciestwo(gracz, obrona);
  666.    
  667.         narnia.czyszczenie_mapy();
  668.         licznik++;
  669.         if (gracz.getZycie() == 0)
  670.         {
  671.             gracz.przegrana();
  672.         }
  673.     }
  674.    
  675.     if (gracz.czyJestPrzegrana())
  676.     {
  677.         cout << "Przegrałes" << endl;
  678.     }
  679.    
  680.     if (brama.czyJestWin())
  681.     {
  682.         cout << "ZWYCIESTWO! zdobyłes dzialo i zolnierza" << endl;
  683.     }
  684.    
  685.     cout << endl;
  686.     cout << endl;
  687.     return 0;      
  688. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement