Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.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;
- 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;
- score=0;
- }
- void draw()
- {
- system("cls");
- for(int i=0;i<width+2;i++)
- cout<<"#";
- cout<< endl;
- for(int i=0;i<width;i++)
- {
- for(int j=0;j<width;j++)
- {
- if(j==0)
- cout <<"#";
- if(i==y&&j==x)
- cout <<"O";
- else if(i==fruitY&&j==fruitX)
- cout <<"F";
- else
- cout<<" ";
- if(j==width-1)
- cout <<"#";
- }
- cout <<endl;
- }
- for(int i=0;i<height+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()
- {
- switch(dir)
- {
- case LEFT:
- x--;
- break;
- case RIGHT:
- x++;
- break;
- case UP:
- y--;
- break;
- case DOWN:
- y++;
- break;
- default:
- break;
- }
- //if (x>width||x<0||y>height||y<0)
- // gameOver=true;
- if(x>=width)x=0; else if(x<0)x=width-1;
- if(y>=height)y=0; else if(y<0)y=height-1;
- if(x==fruitX&&y==fruitY)
- {score++;
- fruitX=rand()%width;
- fruitY=rand()%height;}
- }
- int main()
- {
- setup();
- while(!gameOver)
- {
- draw();
- input();
- logic();
- Sleep(100);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement