Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <stdio.h>
- #include <conio.h>
- #include <windows.h>
- using namespace std;
- bool gameOver;
- const int width = 20;
- const int height = 20;
- int x, y, fruitX, fruitY, score;
- int tailX[100] , tailY[100];
- int nTail;
- int K[100];
- enum eDirecton { STOP = 0 , LEFT , RIGHT, UP, DOWN};
- eDirecton dir;
- void Setup()
- {
- gameOver = false;
- dir = STOP;
- x = width /2;
- y = height /2;
- fruitX = rand() % width;
- fruitY = rand() % height;
- }
- void Draw()
- {
- system("cls");
- for (int i = 0; i < width; i++)
- cout << "#";
- cout << endl;
- for (int i=0; i < height; i++)
- {
- for (int j = 0; j < width; j++)
- {
- if (j == 0)
- cout << "#";
- if (i == y && j == x)
- cout << "0";
- else if (i == fruitY && j == fruitX)
- cout << "F";
- else
- {
- for (int k = 0; k < nTail; k++)
- {
- if (tailX[k] == j && tailY[k] == i)
- {
- cout << "o";
- }
- }
- }
- cout << " ";
- if (j == width - 1)
- cout << "#";
- }
- cout << endl;
- }
- for (int i = 0; i < width+2; i++)
- cout << "#";
- cout << endl;
- cout << "Score:" << score << endl;
- }
- void Input()
- {
- if (_kbhit())
- {
- switch (_getch())
- {
- case 'a':
- dir = LEFT;
- break;
- case 'd':
- dir = RIGHT;
- break;
- case 'w':
- dir = UP;
- break;
- case 's':
- dir = DOWN;
- break;
- case 'x':
- gameOver = true;
- break;
- }
- }
- }
- void Logic()
- {
- int prevX = tailX[0];
- int prevY = tailY[0];
- int prev2X , prev2Y;
- tailX[0] = x;
- tailY[0] = y;
- for (int i = 1; i < nTail; i++)
- {
- prev2X = tailX[i];
- prev2Y = tailY[i];
- tailX[i] = prevX;
- tailY[i] = prevY;
- }
- switch (dir)
- {
- case LEFT:
- x--;
- break;
- case RIGHT:
- x++;
- break;
- case UP:
- y--;
- break;
- case DOWN:
- y++;
- break;
- }
- if (x > width || x < 0 || y> height || y < 0)
- gameOver = true;
- for (int i = 0; i < nTail; i++)
- {
- if (tailX[i] == x && tailY[i] == y)
- gameOver
- if (x == fruitX && y == fruitY)
- {
- score +=10;
- fruitX = rand() % width;
- fruitY = rand() % height;
- nTail++;
- }
- }
- int main()
- { Setup();
- while (!gameOver)
- {
- Draw();
- Input();
- Logic();
- Sleep(10); Sleep(10);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement