Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- #include <conio.h>
- #include <cstdlib>
- #include <time.h>
- using namespace std;
- int x;
- int y;
- char PG=187;
- char PD=188;
- char LD=200;
- char LG=201;
- char GU=205;
- char BO=186;
- char WAZ=219;
- char JEDZ=177;
- int UP;
- int DOWN;
- int LEFT;
- int RIGHT;
- int klawisz;
- int wspx, wspy, jedx, jedy, hwspx[2000], hwspy[2000];
- char pole[30][30];
- int ile=0;
- int dlugosc=2;
- void idzdoxy(int x, int y) {
- HANDLE hCon; COORD dwPos;
- dwPos.X=x;
- dwPos.Y=y; hCon = GetStdHandle(STD_OUTPUT_HANDLE);
- SetConsoleCursorPosition(hCon, dwPos);
- }
- int main()
- {
- cout<<"Podaj x --> ";
- cin>>x;
- if(x>=30){
- x=30;
- cout<<"wybrales za duza wartosc, wybrano warosc najwieksza - 30"<<endl;
- }
- cout<<"Podaj y --> ";
- cin>>y;
- if(y>=30){
- y=30;
- cout<<"wybrales za duza wartosc, wybrano warosc najwieksza - 30"<<endl;
- }
- system("cls");
- cout<<"Wybierz klawisze"<<endl;
- cout<<"GORA"<<endl;
- UP=getch();
- if(UP==224)UP+=getch();
- if(UP==0)UP-=getch();
- cout<<"DOL"<<endl;
- DOWN=getch();
- if(DOWN==224)DOWN+=getch();
- if(DOWN==0)DOWN-=getch();
- cout<<"LEWY"<<endl;
- LEFT=getch();
- if(LEFT==224)LEFT+=getch();
- if(LEFT==0)LEFT-=getch();
- cout<<"PRAWY"<<endl;
- RIGHT=getch();
- if(RIGHT==224)RIGHT+=getch();
- if(RIGHT==0)RIGHT-=getch();
- system("cls");
- for(int i=0; i<x; i++){
- for(int j=0; j<y; j++){
- pole[j][i]='p';
- }
- }
- wspx=rand()%x;
- wspy=rand()%y;
- pole[wspx][wspy]='w';
- do{
- jedx=rand()%x;
- jedy=rand()%x;
- }while(pole[jedx][jedy]!='p');
- pole[jedx][jedy]='j';
- for(;;){
- ile++;
- hwspx[ile]=wspx;
- hwspy[ile]=wspy;
- idzdoxy(0,0);
- cout<<LG;
- for(int i=0; i<x; i++){
- cout<<GU<<GU;
- }
- cout<<PG<<endl;
- for(int i=0; i<y; i++){
- cout<<BO;
- for(int j=0; j<x; j++){
- if(pole[i][j]=='p')cout<<" ";
- if(pole[i][j]=='w')cout<<WAZ<<WAZ;
- if(pole[i][j]=='j')cout<<JEDZ<<JEDZ;
- }
- cout<<BO<<endl;
- }
- cout<<LD;
- for(int i=0; i<x; i++){
- cout<<GU<<GU;
- }
- cout<<PD;
- idzdoxy(0,0);
- Sleep(10);
- klawisz=getch();
- if(klawisz==224)klawisz+=getch();
- if(klawisz==0)klawisz-=getch();
- if(klawisz==UP){
- wspx=wspx-1;
- }
- if(klawisz==224)klawisz+=getch();
- if(klawisz==0)klawisz-=getch();
- if(klawisz==DOWN){
- wspx=wspx+1;
- }
- if(klawisz==224)klawisz+=getch();
- if(klawisz==0)klawisz-=getch();
- if(klawisz==LEFT){
- wspy=wspy-1;
- }
- if(klawisz==224)klawisz+=getch();
- if(klawisz==0)klawisz-=getch();
- if(klawisz==RIGHT){
- wspy=wspy+1;
- }
- if(wspx==y)wspx=0;
- if(wspx==-1)wspx=y-1;
- if(wspy==x)wspy=0;
- if(wspy==-1)wspy=x-1;
- if(pole[wspx][wspy]=='w'){
- system("cls");
- cout<<"Tyle miales punktow: "<<ile<<endl<<endl<<endl<<endl;
- system("Pause");
- break;
- }
- pole[wspx][wspy]='w';
- pole[hwspx[ile-dlugosc]][hwspy[ile-dlugosc]]='p';
- if(pole[wspx][wspy]==pole[jedx][jedy]){
- dlugosc=dlugosc+1;
- do{
- jedx=rand()%x;
- jedy=rand()%x;
- }while(pole[jedx][jedy]!='p');
- pole[jedx][jedy]='j';
- }
- } // koniec petli
- return 0;
- }
Add Comment
Please, Sign In to add comment