Guest User

Untitled

a guest
Sep 23rd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <conio.h>
  4. #include <cstdlib>
  5. #include <time.h>
  6.  
  7. using namespace std;
  8.  
  9. int x;
  10. int y;
  11.  
  12. char PG=187;
  13. char PD=188;
  14. char LD=200;
  15. char LG=201;
  16.  
  17. char GU=205;
  18. char BO=186;
  19. char WAZ=219;
  20. char JEDZ=177;
  21.  
  22. int UP;
  23. int DOWN;
  24. int LEFT;
  25. int RIGHT;
  26.  
  27. int klawisz;
  28.  
  29. int wspx, wspy, jedx, jedy, hwspx[2000], hwspy[2000];
  30.  
  31. char pole[30][30];
  32.  
  33. int ile=0;
  34. int dlugosc=2;
  35.  
  36.  
  37. void idzdoxy(int x, int y) {
  38. HANDLE hCon; COORD dwPos;
  39. dwPos.X=x;
  40. dwPos.Y=y; hCon = GetStdHandle(STD_OUTPUT_HANDLE);
  41. SetConsoleCursorPosition(hCon, dwPos);
  42. }
  43.  
  44. int main()
  45. {
  46. cout<<"Podaj x --> ";
  47. cin>>x;
  48. if(x>=30){
  49. x=30;
  50. cout<<"wybrales za duza wartosc, wybrano warosc najwieksza - 30"<<endl;
  51. }
  52. cout<<"Podaj y --> ";
  53. cin>>y;
  54. if(y>=30){
  55. y=30;
  56. cout<<"wybrales za duza wartosc, wybrano warosc najwieksza - 30"<<endl;
  57. }
  58. system("cls");
  59. cout<<"Wybierz klawisze"<<endl;
  60. cout<<"GORA"<<endl;
  61. UP=getch();
  62. if(UP==224)UP+=getch();
  63. if(UP==0)UP-=getch();
  64. cout<<"DOL"<<endl;
  65. DOWN=getch();
  66. if(DOWN==224)DOWN+=getch();
  67. if(DOWN==0)DOWN-=getch();
  68. cout<<"LEWY"<<endl;
  69. LEFT=getch();
  70. if(LEFT==224)LEFT+=getch();
  71. if(LEFT==0)LEFT-=getch();
  72. cout<<"PRAWY"<<endl;
  73. RIGHT=getch();
  74. if(RIGHT==224)RIGHT+=getch();
  75. if(RIGHT==0)RIGHT-=getch();
  76. system("cls");
  77. for(int i=0; i<x; i++){
  78. for(int j=0; j<y; j++){
  79. pole[j][i]='p';
  80. }
  81. }
  82.  
  83. wspx=rand()%x;
  84. wspy=rand()%y;
  85. pole[wspx][wspy]='w';
  86.  
  87. do{
  88. jedx=rand()%x;
  89. jedy=rand()%x;
  90. }while(pole[jedx][jedy]!='p');
  91.  
  92. pole[jedx][jedy]='j';
  93.  
  94.  
  95.  
  96. for(;;){
  97. ile++;
  98. hwspx[ile]=wspx;
  99. hwspy[ile]=wspy;
  100.  
  101. idzdoxy(0,0);
  102. cout<<LG;
  103. for(int i=0; i<x; i++){
  104. cout<<GU<<GU;
  105. }
  106. cout<<PG<<endl;
  107. for(int i=0; i<y; i++){
  108. cout<<BO;
  109. for(int j=0; j<x; j++){
  110.  
  111. if(pole[i][j]=='p')cout<<" ";
  112. if(pole[i][j]=='w')cout<<WAZ<<WAZ;
  113. if(pole[i][j]=='j')cout<<JEDZ<<JEDZ;
  114.  
  115. }
  116. cout<<BO<<endl;
  117. }
  118. cout<<LD;
  119. for(int i=0; i<x; i++){
  120. cout<<GU<<GU;
  121. }
  122. cout<<PD;
  123. idzdoxy(0,0);
  124. Sleep(10);
  125.  
  126. klawisz=getch();
  127. if(klawisz==224)klawisz+=getch();
  128. if(klawisz==0)klawisz-=getch();
  129. if(klawisz==UP){
  130. wspx=wspx-1;
  131. }
  132.  
  133. if(klawisz==224)klawisz+=getch();
  134. if(klawisz==0)klawisz-=getch();
  135. if(klawisz==DOWN){
  136. wspx=wspx+1;
  137. }
  138.  
  139. if(klawisz==224)klawisz+=getch();
  140. if(klawisz==0)klawisz-=getch();
  141. if(klawisz==LEFT){
  142. wspy=wspy-1;
  143. }
  144.  
  145. if(klawisz==224)klawisz+=getch();
  146. if(klawisz==0)klawisz-=getch();
  147. if(klawisz==RIGHT){
  148. wspy=wspy+1;
  149. }
  150.  
  151.  
  152.  
  153. if(wspx==y)wspx=0;
  154. if(wspx==-1)wspx=y-1;
  155. if(wspy==x)wspy=0;
  156. if(wspy==-1)wspy=x-1;
  157.  
  158. if(pole[wspx][wspy]=='w'){
  159. system("cls");
  160. cout<<"Tyle miales punktow: "<<ile<<endl<<endl<<endl<<endl;
  161. system("Pause");
  162. break;
  163. }
  164. pole[wspx][wspy]='w';
  165. pole[hwspx[ile-dlugosc]][hwspy[ile-dlugosc]]='p';
  166.  
  167.  
  168.  
  169. if(pole[wspx][wspy]==pole[jedx][jedy]){
  170. dlugosc=dlugosc+1;
  171.  
  172. do{
  173. jedx=rand()%x;
  174. jedy=rand()%x;
  175. }while(pole[jedx][jedy]!='p');
  176. pole[jedx][jedy]='j';
  177. }
  178.  
  179. } // koniec petli
  180. return 0;
  181.  
  182. }
Add Comment
Please, Sign In to add comment