Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- struct oblik {
- int Y;
- int vrijeme;
- void target(char **&tabla)
- {
- srand(time(0));
- Y = rand()%18+1;
- vrijeme = rand()%10+5;
- tabla[1][Y] = 'O';
- }
- };
- void Tabla(char **&tabla, int max)
- {
- tabla = new char*[max];
- for (int i = 0; i < max; i++)
- tabla[i] = new char[max];
- for(int i = 0; i < max; i++)
- for(int j = 0; j < max; j++)
- {
- tabla[i][j] = ' ';
- tabla[i][0] = '*';
- tabla[0][i] = '*';
- tabla[max-1][j] = '*';
- tabla[i][max-1] = '*';
- }
- }
- void MIG(char **&tabla,int max, int Y)
- {
- tabla[max-2][Y] = '^';
- }
- void metci(char **&tabla, int max, int Y)
- {
- for (int i = 2; i < max-2; i++) {
- tabla[i][Y] = '|';
- }
- }
- void pokupiCahure(char **&tabla, int max, int Y)
- {
- for (int i = 2; i < max-2; i++)
- tabla[i][Y] = ' ';
- }
- void ispis(char **tabla, int max, int &bodovi, int &zivot)
- {
- cout << "ZIVOT : " << zivot << endl;
- cout << "SCORE : " << bodovi << endl << endl;
- for (int i = 0; i < max; i++) {
- for (int j = 0; j < max; j++)
- cout << setw(2) << tabla[i][j];
- cout << endl;
- }
- }
- void dealloc(char **&tabla, int max)
- {
- for (int i = 0; i < max; i++)
- delete[] tabla[i];
- delete[] tabla;
- tabla = nullptr;
- }
- void main()
- {
- int vel = 30, bodovi = 0, zivot = 4;
- oblik *meta = new oblik;
- bool game = true, pogodak;
- int Y = vel/2;
- char **tabla = nullptr;
- char komanda;
- do
- {
- pogodak = false;
- Tabla(tabla, vel);
- meta->target(tabla);
- do {
- system("cls");
- MIG(tabla, vel, Y);
- ispis(tabla, vel, bodovi, zivot);
- cout << "\n\n P\n";
- cout << "A <-> D\n" << endl << endl;
- cout << "Komanda : ";
- cin >> komanda;
- cin.ignore();
- komanda = toupper(komanda);
- switch (komanda) {
- case 'A':
- {
- tabla[vel-2][Y] = ' ';
- Y--;
- if (Y == 0)
- Y++;
- meta->vrijeme--;
- } break;
- case 'D':
- {
- tabla[vel-2][Y] = ' ';
- Y++;
- if (Y == vel-1)
- Y--;
- meta->vrijeme--;
- } break;
- case 'P':
- {
- metci(tabla, vel, Y);
- system("cls");
- ispis(tabla, vel, bodovi, zivot);
- system("pause>0");
- pokupiCahure(tabla, vel, Y);
- if (meta->Y == Y) {
- pogodak = true;
- bodovi++;
- meta->vrijeme = 0;
- } else
- meta->vrijeme -= 2;
- } break;
- }
- } while (meta->vrijeme > 0);
- dealloc(tabla, vel);
- if (!pogodak)
- zivot--;
- if(pogodak && bodovi % 3 == 0)
- zivot++;
- if (zivot == 0) {
- game = false;
- system("cls");
- cout << "\tGAME OVER!\n\tSCORE : " << bodovi << endl;
- system("pause>0");
- }
- } while (game);
- //dealokacija mete
- delete meta;
- meta = nullptr;
- system("pause>0");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement