Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *
- * Copyright Alex 2019
- *
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <conio.h>
- #include <windows.h>
- #include <iostream>
- using std::cin;
- using std::cout;
- struct snake {
- int x;
- int y;
- }v[100];
- char board[11][11] = {
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
- '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*'
- };
- void wait(int milliseconds) {
- Sleep(milliseconds);
- }
- int main()
- {
- srand(time(0));
- int xpos = 5, ypos = 5, snakeSize = 3;
- for (int i = 0; i < snakeSize; i++) {
- v[i].x = xpos;
- v[i].y = ypos;
- board[xpos][ypos] = 'o';
- xpos++;
- //ypos++;
- }
- int max = 10;
- int min = 0;
- int n = (rand() % (max - min + 1)) + min;
- int n2 = (rand() % (max - min + 1)) + min;
- board[n][n2] = 'x';
- for (int i = 0; i < 11; i++) {
- for (int j = 0; j < 11; j++) {
- cout << board[i][j];
- //printf("%s", board[i][j]);
- }
- cout << "\n";
- //printf("\n");
- }
- char c;
- while (true) {
- if (kbhit()) c=getch();
- board[v[snakeSize-1].x][v[snakeSize-1].y] = '*';
- if (c == 'a') {
- for (int i = snakeSize-2; i >= 0; i--) {
- v[i+1].x = v[i].x;
- v[i+1].y = v[i].y;
- }
- v[0].y--;
- } else if (c == 'd') {
- for (int i = snakeSize-2; i >= 0; i--) {
- v[i+1].x = v[i].x;
- v[i+1].y = v[i].y;
- }
- v[0].y++;
- } else if (c == 'w') {
- for (int i = snakeSize-2; i >= 0; i--) {
- v[i+1].x = v[i].x;
- v[i+1].y = v[i].y;
- }
- v[0].x--;
- } else if (c == 's') {
- for (int i = snakeSize-2; i >= 0; i--) {
- v[i+1].x = v[i].x;
- v[i+1].y = v[i].y;
- }
- v[0].x++;
- }
- board[v[0].x][v[0].y] = 'o';
- if (v[0].x < 0) {
- v[0].x = 10;
- }
- if (v[0].x > 10) {
- v[0].x = 0;
- }
- if (v[0].y < 0) {
- v[0].y = 10;
- }
- if (v[0].y > 10) {
- v[0].y = 0;
- }
- if (v[0].x == n && v[0].y == n2) {
- snakeSize++;
- v[snakeSize-1].x = v[snakeSize-2].x;
- v[snakeSize-1].y = v[snakeSize-2].y;
- board[v[snakeSize-1].x][v[snakeSize-1].y] = 'o';
- n = (rand() % (max - min + 1)) + min;
- n2 = (rand() % (max - min + 1)) + min;
- for (int i = 0; i < snakeSize; i++) {
- if (n == v[i].x && n2 == v[i].y) {
- n = (rand() % (max - min + 1)) + min;
- n2 = (rand() % (max - min + 1)) + min;
- }
- }
- board[n][n2] = 'x';
- }
- system("cls");
- for (int i = 0; i < 11; i++) {
- for (int j = 0; j < 11; j++) {
- cout << board[i][j];
- //printf("%s", board[i][j]);
- }
- cout << "\n";
- //printf("\n");
- }
- wait(1000 / 60);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement