Advertisement
Guest User

super

a guest
Nov 26th, 2015
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. int main()
  5. {
  6. char ruch;
  7. int koniec_o=0;
  8. int koniec=1;
  9. int szpak_x,szpak_y;
  10. const int rozmiar_y=5;
  11. const int rozmiar_x=12;
  12.  
  13. int** mapa_d = new int*[rozmiar_y];
  14. for(int i = 0; i < rozmiar_y; i++)
  15. mapa_d[i] = new int[rozmiar_x];
  16.  
  17. int mapa[5][12]={
  18. {1,1,1,1,1,0,0,1,1,1,1,1},
  19. {1,3,0,0,1,1,1,1,0,0,4,1},
  20. {1,0,0,2,0,0,0,0,2,0,1,1},
  21. {1,0,0,0,1,1,1,1,0,0,1,0},
  22. {1,1,1,1,1,0,1,1,1,1,1,0}
  23. };
  24.  
  25. for(int y=0;y<=rozmiar_y-1;y++) {
  26. for(int x=0;x<=rozmiar_x-1;x++)
  27. {
  28. mapa_d[y][x]=mapa[y][x];
  29. if(mapa_d[y][x]==3)
  30. {
  31. szpak_x=x;
  32. szpak_y=y;
  33. }
  34. }
  35. }
  36.  
  37. do {
  38. system("CLS");
  39. cout << "Chodzenie WSAD'em R-restart K-koniec" << endl;
  40. for(int y=0;y<=rozmiar_y-1;y++)
  41. {
  42. for(int x=0;x<=rozmiar_x-1;x++)
  43. {
  44. if(mapa_d[y][x]==0)
  45. cout << " ";
  46. else if(mapa_d[y][x]==1)
  47. cout << "X ";
  48. else if(mapa_d[y][x]==2)
  49. cout << "@ ";
  50. else if(mapa_d[y][x]==3)
  51. cout << "& ";
  52. else cout << "O ";
  53. }
  54. cout << endl;
  55. }
  56.  
  57. if(koniec==2)
  58. break;
  59.  
  60. cout << "Co robimy ";
  61. cin >> ruch;
  62. int dirx = 0;
  63. int diry = 0;
  64.  
  65. if(ruch == 'w')
  66. diry = 1;
  67. else if(ruch =='s')
  68. diry = -1;
  69. else if(ruch =='a')
  70. dirx = -1;
  71. else if(ruch =='d')
  72. dirx = 1;
  73.  
  74. if(ruch == 'w' || ruch == 's' || ruch == 'a' || ruch == 'd') {
  75. int mapa_next = mapa_d[szpak_y-diry][szpak_x+dirx];
  76. switch(mapa_next) {
  77. case 0:
  78. mapa_d[szpak_y][szpak_x]=0;
  79. szpak_y -= diry;
  80. szpak_x += dirx;
  81. mapa_d[szpak_y][szpak_x]=3;
  82. break;
  83. case 2:
  84. if(mapa_d[szpak_y-2*diry][szpak_x+2*dirx]==0)
  85. {
  86. mapa_d[szpak_y-2*diry][szpak_x+2*dirx]=2;
  87. mapa_d[szpak_y][szpak_x]=0;
  88. szpak_y -= diry;
  89. szpak_x += dirx;
  90. mapa_d[szpak_y][szpak_x]=3;
  91. }
  92. break;
  93. case 4:
  94. mapa_d[szpak_y][szpak_x]=0;
  95. szpak_y -= diry;
  96. szpak_x += dirx;
  97. mapa_d[szpak_y][szpak_x]=3;
  98. koniec_o=1;
  99. koniec=2;
  100. break;
  101. }
  102. }
  103. else if(ruch=='k')
  104. koniec=0;
  105. else if(ruch=='r')
  106. {
  107. for(int y=0;y<=rozmiar_y-1;y++) {
  108. for(int x=0;x<=rozmiar_x-1;x++)
  109. {
  110. mapa_d[y][x]=mapa[y][x];
  111. if(mapa_d[y][x]==3)
  112. {
  113. szpak_x=x;
  114. szpak_y=y;
  115. }
  116. }
  117. }
  118. }
  119. }while(koniec);
  120.  
  121. if(koniec_o)
  122. cout << "Ez win";
  123. else
  124. cout << "Przed dojsciem do konca...";
  125.  
  126. delete[] mapa_d;
  127. return 0;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement