Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <iomanip>
- #include <ctime>
- #include <conio.h>
- using namespace std;
- int error=0, mass1=0;
- struct graph
- {
- int x;
- int y;
- };
- void draw(int, graph[], graph);
- int main()
- {
- setlocale (0, "");
- int minecount=0, mass2=0, r4;
- graph mine[21], player={9, 9};
- srand(time(0));
- minecount=rand()%16;
- minecount+=4;
- for (mass1=0; mass1<=minecount; mass1++)
- {
- mine[mass1].x=rand()%19;
- mine[mass1].y=rand()%19;
- if ((mine[mass1].x==player.x)&&(mine[mass1].y==player.y)) do
- {
- mine[mass1].x=rand()%19;
- mine[mass1].y=rand()%19;
- } while ((mine[mass1].x==player.x)&&(mine[mass1].y=player.y));
- cout << '\n' << mine[mass1].x << ' ' << ' ' << mine[mass1].y << ' ' << ' ' << mass1;
- for (mass2=mass1-1; mass2>0; mass2--)
- {
- if ((mine[mass1].x==mine[mass1-mass2].x)&&(mine[mass1].y==mine[mass1-mass2].y)) do
- {
- mine[mass1].x=rand()%19;
- mine[mass1].y=rand()%19;
- } while ((mine[mass1].x==mine[mass1-mass2].x)&&(mine[mass1].y==mine[mass1-mass2].y));
- }
- }
- draw (mass1, mine, player);
- while (error==0)
- {
- char move=getch();
- switch(move)
- {
- case 'w': player.x-=1; cout << endl << endl << endl << endl << endl; draw(mass1, mine, player); break;
- case 'a': player.y-=1; cout << endl << endl << endl << endl << endl; draw(mass1, mine, player); break;
- case 's': player.x+=1; cout << endl << endl << endl << endl << endl; draw(mass1, mine, player); break;
- case 'd': player.y+=1; cout << endl << endl << endl << endl << endl; draw(mass1, mine, player); break;
- default: draw(mass1, mine, player); break;
- }
- }
- cout << "\nÂû ïðîèãðàëè!";
- return 0;
- }
- void draw(int mass1, graph mine[], graph player)
- {
- int minecheck=0, playercheck=0;
- for (int i=0; i<21; i++) cout << '=';
- cout << endl;
- for (int i=0; i<19; i++)
- {
- cout << '=';
- for (int j=0; j<19; j++)
- {
- for (int a=0; a<=mass1; a++)
- {
- if ((mine[a].x==i)&&(mine[a].y==j)) minecheck++;
- if ((player.x==i)&&(player.y==j)) playercheck++;
- }
- if ((player.x==mine[mass1].x)&&(player.y==mine[mass1].y)) error=1;
- if ((player.x==-1)||(player.x==19)||(player.y==-1)||(player.y==19)) error=1;
- if (minecheck>0)
- {
- cout << '*';
- minecheck=0;
- continue;
- }
- if (playercheck>0)
- {
- cout << '+';
- playercheck=0;
- continue;
- }
- cout << ' ';
- }
- cout << '=' << endl;
- }
- for (int i=0; i<21; i++) cout << '=';
- }
Advertisement
Add Comment
Please, Sign In to add comment