Witam.
Dzisiaj będziemy tworzyć główną planszę gry.
Postaram się w jak najbardziej przystępny sposób wytłumaczyć każdą linię kodu.
Bierzmy się do pracy.
void rysuj()
{
punk=0;
punk_kom=0;
//zeruje nasze punkty i punkty przeciwnika ponieważ za każdym razem gdy rysujemy plansze punkty są liczone od nowa
//zeruje nasze punkty i punkty przeciwnika ponieważ za każdym razem gdy rysujemy plansze punkty są liczone od nowa
cout<<"|---|---|---|---|---|---|---|---|---|---| |-|-|-|-|-|-|-|-|-|-|"<<endl; //rysuje górną ramkę naszej planszy
for(int j=0;j<=9;j++) //ta pętla odpowiada za narysowanie kolejnych 10 rzędów
{
for(int i=0;i<=9;i++) //ta pętla rysuje każde pole z osobna
//ta pętla odpowiada za rysowanie planszy komputera
//ta pętla odpowiada za rysowanie planszy komputera
{
if(statek[j][i]==true&&strzal[j][i]==true) //sprawdzamy czy na danym polu jest statek i czy strzelaliśmy w dane pole
{
punk++;
cout<<"| ";
cout<<"X ";
//jeśli trafiliśmy komputer oznacza to pole X i dodaje nam jeden punkt
}
else if(strzal[j][i]==true) //sprawdza czy strzelaliśmy w dane pole
{
cout<<"| ";
cout<<"O ";
//jeśli spudłowaliśmy komputer oznacza to pole O
//jeśli spudłowaliśmy komputer oznacza to pole O
}
else
{
cout<<"|"<<j<<" "<<i;
//jeśli nie strzelaliśmy w dane pole komputer pokazuje koordynaty pola
//jeśli nie strzelaliśmy w dane pole komputer pokazuje koordynaty pola
}
}
cout<<"| ";//rysuje boczną ramkę planszy
for(int i=0;i<=9;i++)//ta pętla rysuje każde pole z osobna
//ta pętla odpowiada za rysowanie planszy komputera
//ta pętla odpowiada za rysowanie planszy komputera
{
if(zaznaczenia[j][i]==true&&strzal_kom[j][i]==true)//sprawdza czy na danym polu jest nasz statek i czy komputer strzelał w to pole
{
cout<<"|";
cout<<"X";
punk_kom++;
//jeśli komputer trafił oznacza to pole X i daje mu punkt
//jeśli komputer trafił oznacza to pole X i daje mu punkt
}
else if(strzal_kom[j][i]==true) //sprawdza czy na komputer strzelał w dane pole
{
{
cout<<"|";
cout<<"O";
//jeśli komputer spudłował oznacza to pole O
}
else if(zaznaczenia[j][i]==true) //sprawdza czy na danym polu jest nasz statek
{
cout<<"|";
cout<<"Y";
//jeśli na danym polu jest nasz statek komputer oznacza to pole Y
//jeśli na danym polu jest nasz statek komputer oznacza to pole Y
}
else
cout<<"| ";
//jeśli na danym polu nic niema komputer zostawia je puste
//jeśli na danym polu nic niema komputer zostawia je puste
}
cout<<"|"<<endl<<"|---|---|---|---|---|---|---|---|---|---| |-|-|-|-|-|-|-|-|-|-|"<<endl; //rysuje odstępy pomiędzy poszczególnymi rzędami
}
cout<<"TY: "<<punk<<" PRZECIWNIK: "<<punk_kom<<endl;//wypisuje nasze punkty i punkty przeciwnika
cout<<"TY: "<<punk<<" PRZECIWNIK: "<<punk_kom<<endl;//wypisuje nasze punkty i punkty przeciwnika
//poniższe kilka linijek sprawdza czy przeciwnik nie osiąknął wymaganej liczby punktów (zbił wszystkie statki przeciwnika) i wypisuje stosowny komentarz
if(punk==20&&punk_kom==20)
{
cout<<"REMIS"<<endl;
}
else if(punk_kom==20)
{
cout<<"PRZEGRYWASZ"<<endl;
}
else if(punk==20)
{
cout<<"WYGRYWASZ"<<endl;
}
}
Na zakończenie
Dodam jeszcze tylko że narzazie jeśli chcemy wyświetlić naszą plansze wywołujemy ją w funkcji
main(). Dodatkowo możecie pozmieniać wartości statków i strzałów np.:
statek[2][5]=true;
strzal[2][5]=true;
zaznaczenia[4][6]=true;
strzal_kom[8][3]=true;
Podsumowanie.
Myślę że tyle kodu do napisania wystarczy na dziś. Oczywiście kod źródłowy całej aplikacji dostępny jest na moim profilu github. Zachęcam do samodzielnego przeanalizowania kodu.
Jestem otwarty na wszelkie uwagi, pytania, itp. Zapraszam do komentowania.
Brak komentarzy:
Prześlij komentarz