Advertisement
YorKnEz

Untitled

Apr 25th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. /*
  2. *
  3. * Copyright Alex 2019
  4. *
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <time.h>
  10. #include <conio.h>
  11. #include <windows.h>
  12.  
  13. #include <iostream>
  14.  
  15. using std::cin;
  16. using std::cout;
  17.  
  18. struct snake {
  19. int x;
  20. int y;
  21. }v[100];
  22.  
  23. char board[11][11] = {
  24. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  25. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  26. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  27. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  28. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  29. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  30. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  31. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  32. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  33. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
  34. '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'
  35. };
  36.  
  37. void wait(int milliseconds) {
  38. Sleep(milliseconds);
  39. }
  40.  
  41. int main()
  42. {
  43. srand(time(0));
  44.  
  45. int xpos = 5, ypos = 5, snakeSize = 3;
  46.  
  47. for (int i = 0; i < snakeSize; i++) {
  48. v[i].x = xpos;
  49. v[i].y = ypos;
  50.  
  51. board[xpos][ypos] = 'o';
  52.  
  53. xpos++;
  54. //ypos++;
  55. }
  56.  
  57. int max = 10;
  58. int min = 0;
  59. int n = (rand() % (max - min + 1)) + min;
  60. int n2 = (rand() % (max - min + 1)) + min;
  61.  
  62. board[n][n2] = 'x';
  63.  
  64. for (int i = 0; i < 11; i++) {
  65. for (int j = 0; j < 11; j++) {
  66. cout << board[i][j];
  67. //printf("%s", board[i][j]);
  68. }
  69. cout << "\n";
  70. //printf("\n");
  71. }
  72.  
  73. char c;
  74.  
  75. while (true) {
  76. if (kbhit()) c=getch();
  77.  
  78. board[v[snakeSize-1].x][v[snakeSize-1].y] = '*';
  79.  
  80. if (c == 'a') {
  81. for (int i = snakeSize-2; i >= 0; i--) {
  82. v[i+1].x = v[i].x;
  83. v[i+1].y = v[i].y;
  84. }
  85.  
  86. v[0].y--;
  87. } else if (c == 'd') {
  88. for (int i = snakeSize-2; i >= 0; i--) {
  89. v[i+1].x = v[i].x;
  90. v[i+1].y = v[i].y;
  91. }
  92.  
  93. v[0].y++;
  94. } else if (c == 'w') {
  95. for (int i = snakeSize-2; i >= 0; i--) {
  96. v[i+1].x = v[i].x;
  97. v[i+1].y = v[i].y;
  98. }
  99.  
  100. v[0].x--;
  101. } else if (c == 's') {
  102. for (int i = snakeSize-2; i >= 0; i--) {
  103. v[i+1].x = v[i].x;
  104. v[i+1].y = v[i].y;
  105. }
  106.  
  107. v[0].x++;
  108. }
  109.  
  110. board[v[0].x][v[0].y] = 'o';
  111.  
  112. if (v[0].x < 0) {
  113. v[0].x = 10;
  114. }
  115.  
  116. if (v[0].x > 10) {
  117. v[0].x = 0;
  118. }
  119.  
  120. if (v[0].y < 0) {
  121. v[0].y = 10;
  122. }
  123.  
  124. if (v[0].y > 10) {
  125. v[0].y = 0;
  126. }
  127.  
  128. if (v[0].x == n && v[0].y == n2) {
  129. snakeSize++;
  130.  
  131. v[snakeSize-1].x = v[snakeSize-2].x;
  132. v[snakeSize-1].y = v[snakeSize-2].y;
  133.  
  134. board[v[snakeSize-1].x][v[snakeSize-1].y] = 'o';
  135.  
  136. n = (rand() % (max - min + 1)) + min;
  137. n2 = (rand() % (max - min + 1)) + min;
  138.  
  139. for (int i = 0; i < snakeSize; i++) {
  140. if (n == v[i].x && n2 == v[i].y) {
  141. n = (rand() % (max - min + 1)) + min;
  142. n2 = (rand() % (max - min + 1)) + min;
  143. }
  144. }
  145.  
  146. board[n][n2] = 'x';
  147. }
  148.  
  149. system("cls");
  150.  
  151. for (int i = 0; i < 11; i++) {
  152. for (int j = 0; j < 11; j++) {
  153. cout << board[i][j];
  154. //printf("%s", board[i][j]);
  155. }
  156. cout << "\n";
  157. //printf("\n");
  158. }
  159.  
  160. wait(1000 / 60);
  161. }
  162. return 0;
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement