sobota, 29 października 2016

Menu gry

Witam

Dzisiaj zajmiemy się ostatnią częścią naszego projektu czyli menu. Bierzmy się zatem do pracy.

int menu()
{
    for(;;) //tworzymy nieskończoną pętle w której będzie działać cała aplikacja
    {

        system("cls"); //czyścimy ekran
        cout<<"1.GRAJ"<<endl;
        cout<<"2.WYJŚCIE"<<endl;
        wyb=getch();
        system("cls");
// wypisujemy dostępne opcje w menu i odczytujemy wybór gracza
        switch(wyb) //switch który wywoła odpowiednie funkcje zależnie od wyboru gracza 
        {
        case '1': //jeśli gracz wybrał opcję graj wywołujemy funkcje zaznacz wylicz i rysuj
        {
            zerowanie();
            wylicz();
            rysuj();
            do
            {
                ruch();
                atak();
                rysuj();
            }
            while(punk<20&&punk_kom<20); //następnie wywołujemy funkcje ruch atak i rysuj dopóki gracz albo komputer zestrzeli wszystkie statki przeciwnika
       }
        break;
        case '2': // jeśli gracz wybrał opcję wyście zwracamy wartość funkcji menu tym samym wychodzimy z funkcji i z samej gry
        {
            return 0;
        }
        break;
       }
       system("pause"); //czekamy aż gracz naciśnie dowolny klawisz żeby mógł zobaczyć wynik swojej gry
    }
}

I możemy podziwiać efekty naszej pracy:
Zauważamy jednak pewien problem jeżeli jeszcze raz wybierzemy graj nasza plansza będzie już wypełniona. Jest to spowodowane tym że nie wyzerowaliśmy koordynatorów naszych statków. Zróbmy więc to używając funkcji zerującej.

void zerowanie()
{
    punk=0;
    punk_kom=0;
    for(int i=0;i<10;i++)
    {
       for(int j=0;j<10;j++)
    {
         statek[j][i]=false;
         strzal[j][i]=false;
         zaznaczenia[j][i]=false;
         strzal_kom[j][i]=false;
    }
    }
}

Jest to bardzo prosta funkcja więc nie będę jej dokładnie opisywał, porostu ustawia wartość wszystkich zmiennych na zero. Pozostaje nam ją już tylko wywołać w void menu() nad funkcją zaznacz(). 

Podsumowanie  

Nasz projekt możemy uznać za skończony. Teraz prawdopodobnie zajmiemy się drugim projektem którym będą okienkowe statki. Kod całej aplikacji jest dostępny na moim profilu github. Jestem otwarty na wszelkie uwagi, pytania itp. oraz zachęcam do komentowania. 


Brak komentarzy:

Prześlij komentarz