Z powodu braku pomysłu na wroga veryhard zrobiłem boss1. Podobnie do poprzednich klas dziedziczymy z klasy bazowej Cwrog i tym razem "edytujemy" 2 metody ale o tym poniżej.
Mam już część bitmap do gry, jeżeli znacie jakieś stronki z darmowymi bitmapami z gier kosmicznych podobnych do mojej to dajcie link :)
class Cboss1 : public Cwrog
{
public:
int pozpocwro_x[5], pozpocwro_y[5];
Cboss1::Cboss1()
{
pozwro_x=300;
pozwro_y=20;
czest_poc=0;
zycia=100;
kierunek_poz=false;
}
void poruszanie_wroga()
{
if(zycia<=0)
{
punktacja=punktacja+101;
pozwro_y=1000;
zycia=100;
}
if(pozwro_x<0)
{
kierunek_poz=true;
}
else if(pozwro_x>611)
{
kierunek_poz=false;
}
if(kierunek_poz)
{
pozwro_x=pozwro_x+1;
}
else if(!kierunek_poz)
{
pozwro_x=pozwro_x-1;
}
}
void strzelanie_wroga()
{
for(int i=0; i<5; i++)
{
if ( pozpocwro_y[i]>460)
{
if (czest_poc>=100)
{
pozpocwro_x[i]=pozwro_x-10;
pozpocwro_y[i]=pozwro_y+80;
pozpocwro_x[i+1]=pozwro_x+30;
pozpocwro_y[i+1]=pozwro_y+80;
pozpocwro_x[i+2]=pozwro_x+70;
pozpocwro_y[i+2]=pozwro_y+80;
pozpocwro_x[i+3]=pozwro_x+110;
pozpocwro_y[i+3]=pozwro_y+80;
pozpocwro_x[i+4]=pozwro_x+150;
pozpocwro_y[i+4]=pozwro_y+80;
}
}
if(czest_poc==100)
{
czest_poc=0;
}
if (pozpocwro_y[i]>430)
{
pozpocwro_y[i]=800;
}
czest_poc++;
pozpocwro_y[i]=pozpocwro_y[i]+3;
}
}
};
Metoda poruszanie_wroga() w zasadzie nie uległa zmianie poza ograniczeniem
else if(pozwro_x>611)
z powodu większej .bmp aby nie wyszła poza ekran.
Boss porusza się w lewo lub w prawo podobnie jak wrog_medium ale nie spada w dół.
Metoda strzelanie_wroga() jest trochę bardziej skomplikowana, ponieważ nasz Boss1 jak przystało na "matkę" musi być trudny i będzie strzelał 5 pociskami naraz. Wszystko dzieje się w pętli for i przy uzyciu 2- tablic 5-elementowych.
2-óch, ponieważ potrzebujemy 2 zmiennych do określenia położenia pocisku x i y. Reszty nie będę tłumaczył, ponieważ bym się powtarzał co post.
Od zmiennej x odejmuję lub dodaję jakieśwartości aby pociski nie nakładały się na siebie np:
pozpocwro_x[i]=pozwro_x-10;
Jeżeli chodzi o prace nad grą to w 1 dzień szukam jakiś bitmap i je wycinam itp, a resztęczasu poświęcam na kodzenie i testowanie tego co udało mi się napisać. Kolejne dni poświęcę na dodanie jakiś bonusów (dodatkowa amunicja, zwiększenie szybkości) spadających po zestrzeleniu wroga.
Rysunek pomocniczy obrazujący ruchy Boss1
Brak komentarzy:
Prześlij komentarz