Advertisement
LazySenpai

Arrow

Mar 25th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #include <conio.h>
  5. #include <windows.h>
  6.  
  7. using std::cout;
  8. using std::cin;
  9. //*************************************************************************************************************************************
  10. void view(char board[20][7])
  11. {
  12.     for(int j=0; j<7; j++)
  13.     {
  14.         for(int i=0; i<20; i++)
  15.         {
  16.             cout << board[i][j];
  17.         }
  18.         cout << "\n";
  19.     }
  20. }//funkcja wyswietlajaca
  21. //*************************************************************************************************************************************
  22. void filling_up(char board[20][7])
  23. {
  24.     for(int i=0; i<20; i++)
  25.     {
  26.         for(int j=0; j<7; j++)
  27.         {
  28.             //wypelnienie bokow
  29.             if(j==0||j==6)
  30.             {
  31.                 board[i][j]=char(196);
  32.             }
  33.             else if(i==0||i==19)
  34.             {
  35.                 board[i][j]=char(179);
  36.             }
  37.             else
  38.                 board[i][j]=' ';
  39.  
  40.             //Wypelnienie rogow
  41.             if(j==0&&i==0)
  42.             {
  43.                 board[i][j]=char(218);
  44.             }
  45.             else if(j==0&&i==19)
  46.             {
  47.                 board[i][j]=char(191);
  48.             }
  49.             else if(j==6&&i==0)
  50.             {
  51.                 board[i][j]=char(192);
  52.             }
  53.             else if(j==6&&i==19)
  54.             {
  55.                 board[i][j]=char(217);
  56.             }
  57.         }
  58.     }
  59. }//funckja tworzy ramke w tablicy
  60. //*************************************************************************************************************************************
  61. int main()
  62. {
  63.     srand(time(NULL));
  64.     char board[20][7],key;
  65.     int x=3,y=5, score=0, time=1000;
  66.     //board - tablica znakow, plansza gry
  67.     //x, y zmienne calkowite oznaczaja pozycje strzalki
  68.     //score - punktacja
  69.  
  70.     filling_up(board);
  71.     board[x][y]='>';
  72.     //wypelnienie ramka i ustawienie strzalki
  73.  
  74.     cout << "Welcome to the \"Arrow\".\n"
  75.          << "In this game to move you will have to use w,a,s,d\n"
  76.          << "Have fun!";
  77.     getch();
  78.     system("cls");
  79.  
  80.     for(int round=1;;round++)
  81.     {
  82.         if(kbhit()==1)
  83.         {
  84.             key=getch();
  85.             if(key=='w')
  86.             {
  87.                 if(board[x][y-1]!=char(196))
  88.                 {
  89.                     board[x][y]=' ';
  90.                     y--;
  91.                 }
  92.             }
  93.             else if(key=='s')
  94.             {
  95.                 if(board[x][y+1]!=char(196))
  96.                 {
  97.                     board[x][y]=' ';
  98.                     y++;
  99.                 }
  100.             }
  101.             else if(key=='d')
  102.             {
  103.                 if(board[x+1][y]!=char(179))
  104.                 {
  105.                     board[x][y]=' ';
  106.                     x++;
  107.                 }
  108.             }
  109.             else if(key=='a')
  110.             {
  111.                 if(board[x-1][y]!=char(179))
  112.                 {
  113.                     board[x][y]=' ';
  114.                     x--;
  115.                 }
  116.             }
  117.             //poruszanie sie strzalka
  118.         }
  119.  
  120.         system("cls");
  121.         //wyczyszczenie ekranu
  122.         board[x][y]='>';
  123.         //ustawienie strzalki
  124.         view(board);
  125.         //wyswietlenie na ekranie tablicy
  126.         Sleep(time);
  127.         //odczekanie wyznaczonego czasu
  128.         score++;
  129.         //dodanie punktu
  130.         if(time<=500)
  131.             time-=10;
  132.         //przyspieszenie do momentu az czas nie bedzie mniejszy, rowny 500
  133.  
  134.         if(round%5==0)
  135.         {
  136.             for(int i=0; i<4; i++)
  137.             {
  138.                 board[18][rand()%5+1]='X';
  139.             }
  140.         }//wygenerowanie przeszkod
  141.  
  142.         for(int j=0; j<7; j++)
  143.         {
  144.             for(int i=0; i<20; i++)
  145.             {
  146.                 if(board[i-1][j]==char(179))
  147.                 {
  148.                     board[i][j]=' ';
  149.                 }
  150.                 else if(board[i][j]=='X')
  151.                 {
  152.                     board[i][j]=' ';
  153.                     board[i-1][j]='X';
  154.                 }
  155.             }
  156.         }//poruszanie sie przeszkod (tworzy efekt poruszania sie naszej strzalki)
  157.  
  158.         if(board[x+1][y]=='X')
  159.             break;
  160.         //instrukcja w przypadku kolizji
  161.     }
  162.  
  163.     cout << "GAME OVER!!!\n"
  164.          << "Your score : " << score
  165.          << "\nThank you for playing :>";
  166.  
  167.     getch();
  168.     getch();
  169. }
  170. //*************************************************************************************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement