Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <windows.h>
- #include <time.h>
- #include <conio.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <fstream>
- #include <string>
- #include <sstream>
- #include <cstdio>
- using namespace std;
- int szerokosc = 25, wysokosc = 25;
- int ruchX, ruchY, pktX = szerokosc + 4, pktY = wysokosc / 2 + 5, strzalX, strzalY;
- int punkt_zbieranie, punkt_strzelanie, rekord_zbieranie, rekord_strzelanie;
- int poziom_trudnosci = 800, magazynek = 10;
- bool g_z = false, g_s = false, g_n = false, pocisk = false;
- char c;
- void wspolrzedne(int x, int y)
- {
- COORD coord;
- coord.X = x;
- coord.Y = y;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- }
- void rysowanie_mapy()
- {
- wspolrzedne(5, 3);
- cout << char(201);
- for (int a = 3; a <= szerokosc; a++)
- cout << char(205) << char(205);
- cout << char(187);
- for (int b = 2; b <= wysokosc; b++)
- {
- wspolrzedne(5, 4);
- cout << char(186);
- for (int c = 3; c <= szerokosc; c++)
- cout << " ";
- cout << char(186) << endl;
- }
- wspolrzedne(5, 5);
- cout << char(204);
- for (int a = 3; a <= szerokosc; a++)
- cout << char(205) << char(205);
- cout << char(185) << endl;
- for (int b = 2; b <= wysokosc; b++)
- {
- wspolrzedne(5, 4 + b);
- cout << char(186);
- for (int c = 3; c <= szerokosc; c++)
- cout << " ";
- cout << char(186) << endl;
- }
- wspolrzedne(5, wysokosc + 5);
- cout << char(200);
- for (int a = 3; a <= szerokosc; a++)
- cout << char(205) << char(205);
- cout << char(188) << endl;
- }
- void ruch_punktu()
- {
- int kierunek_punktu;
- system("color 10");
- kierunek_punktu = rand() % 4 + 1;
- if (kierunek_punktu == 1)
- {
- if (pktY > 6)
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktY--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktY++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- else if (kierunek_punktu == 2)
- {
- if (pktY < (wysokosc - 1 + 5))
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktY++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktY--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- else if (kierunek_punktu == 3)
- {
- if (pktX > 6)
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- else if (kierunek_punktu == 4)
- {
- if (pktX < (szerokosc * 2 - 4 + 5))
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- }
- void ruch_punktu_g_s()
- {
- int kierunek_puntu;
- system("color 5");
- kierunek_puntu = rand() % 2 + 1;
- if (kierunek_puntu == 1)
- {
- if (pktX > 6)
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- else if (kierunek_puntu == 2)
- {
- if (pktX < (szerokosc * 2 - 4 + 5))
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX++;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- else
- {
- wspolrzedne(pktX, pktY);
- cout << " ";
- pktX--;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- }
- void ruch_punktu_g_n()
- {
- int kierunek_puntu;
- system("color 5");
- }
- void ruch_pocisku()
- {
- system("color 7");
- wspolrzedne(strzalX, strzalY);
- cout << " ";
- strzalY--;
- wspolrzedne(strzalX, strzalY);
- cout << char(193);
- if (strzalY == 6)
- {
- pocisk = false;
- wspolrzedne(strzalX, strzalY);
- cout << " ";
- }
- }
- void punkty()
- {
- if ((ruchX == pktX) && (ruchY == pktY))
- {
- if (g_z == true)
- punkt_zbieranie++;
- system("color 10");
- wspolrzedne(14, 4);
- cout << punkt_zbieranie;
- system("color 5");
- ;
- if (g_z == true)
- {
- pktX = rand() % (szerokosc * 2 - 4) + 6;
- pktY = rand() % (wysokosc - 1) + 6;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- else if ((pktX == strzalX) && (pktY == strzalY))
- {
- punkt_strzelanie++;
- if (magazynek < 9)
- magazynek += 2;
- else if(magazynek == 9) magazynek++;
- system("color 10");
- wspolrzedne(28, 4);
- cout << " ";
- wspolrzedne(28, 4);
- cout << magazynek;
- wspolrzedne(14, 4);
- cout << punkt_strzelanie;
- system("color 5");
- pocisk = false;
- wspolrzedne(strzalX, strzalY);
- cout << " ";
- pktX = rand() % (szerokosc * 2 - 4) + 6;
- pktY = rand() % (wysokosc - 2) + 6;
- wspolrzedne(pktX, pktY);
- cout << char(158);
- }
- }
- void ruch()
- {
- if (g_z == true)
- {
- if (c == 'w')
- {
- if (ruchY > 6)
- ruchY--;
- }
- else if (c == 's')
- {
- if (ruchY < (wysokosc - 1 + 5))
- ruchY++;
- }
- else if (c == 'a')
- {
- if (ruchX > 6)
- ruchX--;
- }
- else if (c == 'd')
- {
- if (ruchX < (szerokosc * 2 - 4 + 5))
- ruchX++;
- }
- }
- else if (g_s == true)
- {
- if (c == 'a')
- {
- if (ruchX > 6)
- ruchX--;
- }
- else if (c == 'd')
- {
- if (ruchX < (szerokosc * 2 - 4 + 5))
- ruchX++;
- }
- else if (c == 'w')
- {
- if (pocisk == true)
- cout;
- else
- {
- pocisk = true;
- magazynek--;
- strzalX = ruchX;
- strzalY = ruchY - 1;
- wspolrzedne(28, 4);
- cout << " ";
- wspolrzedne(28, 4);
- cout << magazynek;
- }
- }
- }
- }
- void gra_strzelanie()
- {
- int odswiezanie = 0, odswiezanie_s = 0;
- system("cls");
- g_s = true;
- ruchX = rand() % (szerokosc * 2 - 4) + 6;
- ruchY = wysokosc + 4;
- rysowanie_mapy();
- system("color 10");
- wspolrzedne(szerokosc * 2 - 11, 4);
- cout << "Menu = ENTER";
- wspolrzedne(7, 4);
- cout << "Wynik: ";
- wspolrzedne(17, 4);
- cout << "Magazynek: ";
- wspolrzedne(28, 4);
- cout << magazynek;
- wspolrzedne(14, 4);
- cout << punkt_strzelanie;
- system("color 5");
- wspolrzedne(pktX, pktY);
- cout << char(158);
- while (c != char(13))
- {
- odswiezanie++;
- odswiezanie_s++;
- if (odswiezanie_s == 200)
- {
- odswiezanie_s = 0;
- if (pocisk == true)
- {
- ruch_pocisku();
- }
- }
- if (odswiezanie == poziom_trudnosci)
- {
- odswiezanie = 0;
- ruch_punktu_g_s();
- }
- if (magazynek == 0 && pocisk == false)
- {
- if (rekord_strzelanie < punkt_strzelanie)
- rekord_strzelanie = punkt_strzelanie;
- punkt_strzelanie = 0;
- magazynek = 10;
- break;
- }
- punkty();
- system("color 10");
- wspolrzedne(ruchX, ruchY);
- cout << char(254);
- if (_kbhit())
- {
- c = getch();
- wspolrzedne(ruchX, ruchY);
- cout << " ";
- ruch();
- }
- }
- system("cls");
- g_s = false;
- }
- void gra_nowy()
- {
- int odswiezanie = 0;
- system("cls");
- g_n = true;
- ruchX = rand() % (szerokosc * 2 - 4) + 6;
- ruchY = rand() % (wysokosc - 1) + 6;
- if ((ruchX == pktX) && (ruchY == pktY))
- {
- ruchX--;
- ruchY--;
- }
- rysowanie_mapy();
- system("color 10");
- wspolrzedne(szerokosc * 2 - 11, 4);
- cout << "Menu = ENTER";
- wspolrzedne(7, 4);
- cout << "Wynik: ";
- wspolrzedne(14, 4);
- cout << punkt_zbieranie;
- system("color 5");
- wspolrzedne(pktX, pktY);
- cout << char(158);
- while (c != char(13))
- {
- odswiezanie++;
- if (odswiezanie == poziom_trudnosci)
- {
- odswiezanie = 0;
- ruch_punktu_g_n();
- }
- punkty();
- system("color 10");
- wspolrzedne(ruchX, ruchY);
- cout << char(254);
- if (_kbhit())
- {
- c = getch();
- wspolrzedne(ruchX, ruchY);
- cout << " ";
- ruch();
- }
- }
- system("cls");
- g_n = false;
- }
- void gra_zbieranie()
- {
- int odswiezanie = 0;
- system("cls");
- g_z = true;
- ;
- ruchX = rand() % (szerokosc * 2 - 4) + 6;
- ruchY = rand() % (wysokosc - 1) + 6;
- if ((ruchX == pktX) && (ruchY == pktY))
- {
- ruchX--;
- ruchY--;
- }
- rysowanie_mapy();
- system("color 10");
- wspolrzedne(szerokosc * 2 - 11, 4);
- cout << "Menu = ENTER";
- wspolrzedne(7, 4);
- cout << "Wynik: ";
- wspolrzedne(14, 4);
- cout << punkt_zbieranie;
- system("color 5");
- wspolrzedne(pktX, pktY);
- cout << char(158);
- while (c != char(13))
- {
- odswiezanie++;
- if (odswiezanie == poziom_trudnosci)
- {
- odswiezanie = 0;
- ruch_punktu();
- }
- punkty();
- system("color 10");
- wspolrzedne(ruchX, ruchY);
- cout << char(254);
- if (_kbhit())
- {
- c = getch();
- wspolrzedne(ruchX, ruchY);
- cout << " ";
- ruch();
- }
- }
- system("cls");
- g_z = false;
- if (rekord_zbieranie < punkt_zbieranie)
- rekord_zbieranie = punkt_zbieranie;
- }
- void ustawienia()
- {
- string ustawienia_wybor;
- int wybor_szerokosci, wybor_wysokosci;
- system("cls");
- cout << "USTAWIENIA" << endl;
- cout << "1. Zmien rozmiar mapy" << endl;
- cout << "2. Zmien poziom trudnosci" << endl;
- cout << "3. Wyczysc rekordy" << endl;
- cout << "4. Wyjdz do menu" << endl;
- cout << "> ";
- cin >> ustawienia_wybor;
- if (ustawienia_wybor == "1")
- {
- system("cls");
- cout << "(Zakres 25-35) Zmien szerokosc z '" << szerokosc << "' na: ";
- cin >> wybor_szerokosci;
- cout << "(Zakres 25-35) Zmien wysokosc z '" << wysokosc << "' na: ";
- cin >> wybor_wysokosci;
- if ((wybor_szerokosci > 35 || wybor_szerokosci < 25) || (wybor_wysokosci > 35 || wybor_wysokosci < 25))
- {
- cout << endl
- << "Zla wartosc!" << endl;
- Sleep(500);
- system("cls");
- ustawienia();
- }
- else
- {
- szerokosc = wybor_szerokosci;
- wysokosc = wybor_wysokosci;
- }
- cout << endl
- << "Pomyslnie zmieniono rozmiar mapy!" << endl;
- Sleep(500);
- ustawienia();
- }
- else if (ustawienia_wybor == "2")
- {
- string poziom_trudnosci_wybor;
- system("cls");
- cout << "1. Latwy";
- if (poziom_trudnosci == 800)
- cout << " <- WYBRANY" << endl;
- else
- cout << endl;
- cout << "2. Sredni";
- if (poziom_trudnosci == 600)
- cout << " <- WYBRANY" << endl;
- else
- cout << endl;
- cout << "3. Trudny";
- if (poziom_trudnosci == 400)
- cout << " <- WYBRANY" << endl;
- else
- cout << endl;
- cout << "> ";
- cin >> poziom_trudnosci_wybor;
- if (poziom_trudnosci_wybor == "1")
- poziom_trudnosci = 800;
- else if (poziom_trudnosci_wybor == "2")
- poziom_trudnosci = 600;
- else if (poziom_trudnosci_wybor == "3")
- poziom_trudnosci = 400;
- else
- {
- cout << endl
- << "Nie ma takiej opcji!" << endl;
- Sleep(500);
- system("cls");
- ustawienia();
- }
- }
- else if(ustawienia_wybor == "3"){
- rekord_strzelanie = 0;
- rekord_zbieranie = 0;
- system("cls");
- cout<<"Pomyslnie wyczyszczono rekordy!"<<endl;
- Sleep(500);
- system("cls");
- }
- else if (ustawienia_wybor == "4")
- {
- system("cls");
- }
- else
- {
- cout << endl
- << "Nie ma takiej opcji!" << endl;
- Sleep(500);
- system("cls");
- ustawienia();
- }
- }
- void jak_grac()
- {
- string jak_grac_wybor;
- system("cls");
- cout << " - - - JAK GRAC? - - - " << endl;
- cout << "1. Ruch" << endl;
- cout << "2. Wyjdz" << endl;
- cout << "> ";
- cin >> jak_grac_wybor;
- if (jak_grac_wybor == "1")
- {
- system("cls");
- cout << "Wyjscie z gry do menu - 'ENTER'" << endl;
- cout << "Gora - 'W'" << endl;
- cout << "Dol - 'S'" << endl;
- cout << "Lewo - 'A'" << endl;
- cout << "Prawo - 'D'" << endl;
- cout << endl;
- cout << "Wcisnij dowolny klawisz aby wyjsc do menu" << endl;
- getch();
- system("cls");
- }
- else if (jak_grac_wybor == "2")
- {
- system("cls");
- }
- else
- {
- cout << endl
- << "Nie ma takiej opcji!" << endl;
- Sleep(500);
- system("cls");
- jak_grac();
- }
- }
- void rekordy()
- {
- system("cls");
- cout<<" - - - REKORDY - - - "<<endl;
- cout<<"Rekord w zbieraniu: "<<rekord_zbieranie<<endl;
- cout<<"Rekord w strzaleniu: "<<rekord_strzelanie<<endl;
- cout<<endl;
- cout<<"Wcisnij dowolny klawisz aby wyjsc do menu"<<endl;
- getch();
- system("cls");
- }
- void menu()
- {
- for (;;)
- {
- string menu_wybor;
- c = char(178);
- system("cls");
- system("color 6");
- cout << " - - - Witaj! - - - " << endl;
- cout << "1. Gra - zbieranie" << endl;
- cout << "2. Gra - strzelanie" << endl;
- cout << "3. Rekordy" << endl;
- cout << "4. Jak grac?" << endl;
- cout << "5. Ustawienia" << endl;
- cout << "6. Wyjdz" << endl;
- cout << "> ";
- cin >> menu_wybor;
- if (menu_wybor == "1")
- gra_zbieranie();
- else if (menu_wybor == "2")
- gra_strzelanie();
- else if (menu_wybor == "3")
- rekordy();
- else if (menu_wybor == "4")
- jak_grac();
- else if (menu_wybor == "5")
- ustawienia();
- else if (menu_wybor == "6")
- {
- system("cls");
- break;
- }
- else
- {
- cout << endl
- << "Nie ma takiej opcji!" << endl;
- Sleep(500);
- system("cls");
- menu();
- }
- }
- }
- int main()
- {
- fstream rekordy;
- string linia;
- int numer_linii=1;
- rekordy.open("rekordy.txt", ios::in);
- if(rekordy.good() == false){
- rekordy.open("rekordy.txt", ios::out);
- rekordy.close();
- }
- else{
- while(getline(rekordy, linia)){
- switch(numer_linii){
- case 1: rekord_zbieranie = atoi(linia.c_str()); break;
- case 2: rekord_strzelanie = atoi(linia.c_str()); break;
- }
- numer_linii++;
- }
- }
- rekordy.close();
- srand(time(NULL));
- menu();
- rekordy.open("rekordy.txt", ios::out);
- rekordy << rekord_zbieranie << endl;
- rekordy << rekord_strzelanie << endl;
- rekordy.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement