Operator w c++

0

Witam
Nie pamiętam już operatora który wykonał by następującą czynność :
Chcę żeby program sprawdził 2 wartości i porównał je z 2 innymi a żeby działał dalej muszą być takie same.
Próbowałem to zrobić tak :

for(x == d; y == h;)
{
destroy_bitmap(ryjek);
}

ale przez to sprawdza tylko x i d a y i h pomija.

Znacie operator który temu zapobiegnie ?

Proszę o szybką odpowiedź

0

lenistwo Twoje nie zna granic...
if(x == d && y == h) // muszą być spełnione 2 warunki
destroy_bitmap(ryjek)

lub też:

if(x == d || y == h) // wystarczy ze jeden z warunków jest spełniony
destroy_bitmap(ryjek)

0

Właśnie pamiętałem o && ale ja debil i próbowałem go użyć w w pętli for xD
Znacie jakąś inną komendę na usuwanie. Bo ta destroy coś nie działa.

0
for(x == d i sprawdz jeszcze ten y == h;)
{
destroy_bitmap(ryjek);                
}

spróbuj tak

0
Ja napisał(a)

Właśnie pamiętałem o && ale ja debil i próbowałem go użyć w w pętli for xD
Znacie jakąś inną komendę na usuwanie. Bo ta destroy coś nie działa.

piszesz w allegro ? powiedz coś więcej na temat swojego problemu, wklej kod itp.

0

No co tu dużo pisać ??
Szukam tylko funkcji podobnej do destroy, bo ona nie działa zbytnio dobrze. Gdy najadę na pocisk wyskakuje takie coś : http://zapodaj.net/f2f5b069e668.bmp.html

0

To znaczy gdy pocisk trafi w bohatera to się ten bohater mnoży jak widać na obrazku (ten na górze) i wyskakuje error :(

0

Więc na pewno nie chodzi o ten destroy.

0

musisz mieć złe założenia przy kolizji czy coś, zły kod .. nie potrafię wróżyć z kryształowej kuli więc nie wiem ;]

0

Od razu mówię żebyście się nie śmieli to moja pierwsza gra w 2D i dopiero w moim kursie kończę naukę pętli. Więc umiem bardzo mało :(
http://wklej.org/id/547069/

0
if(key[KEY_A])ryjek,x-=1;

Co ten kod wg ciebie ma robić?
Próbujesz zniszczyć bitmapę a kilka wierszy niżej próbujesz ją rysować. Co ma się stać po trafieniu?
Może zrób zmienną typu:
bool JestRyjek=true;
w przypadku trafienia zmień jej wartość:
JestRyjek=false;
rysuj ryjek:
if(JestRyjek) masked_blit( ryjek, bufor, 0,0, ryjek->x_ofs, ryjek->y_ofs, ryjek->w, ryjek->h);

0

Wielkie thx za pomoc zaraz to spróbuje zrobić.

0

Ok zrobiłem ale nie wiem czemu teraz nie da się ryjkiem sterować spróbuje znaleźć tego przyczynę ale pomoc się przyda ;)

0

Ok już naprawiłem xD
Po prostu pomyliłem się i dałem zamiast x i y to d i h które są przypisane do naboju xDDDD
Special thanks za pomoc

0

Nie chcę robić kolejnego tematu więc napiszę tu >
Bardzo długo siedzę myślę i się zastanawiam, gdy bohater strzela jego strzał przypisany jest do jego współrzędnych - bohater (u,i) - naboj (u,i)
jak po strzeleniu mam mu przypisać własną wartość ?

0

nu=u;
ni=i;
i nabój ma własne współrzędne nu,ni
Zastanów się nad zmianą nazewnictwa:
dla ryjka rx,ry; dla bohatera bx,by; dla naboju nx,ny; kod natychmiast stanie się czytelniejszy.
wypadało by zrobić strukturę/klasę obiekt ze składowymi:
NazwaObrazka
obrazek
CzyWidoczny
x
y
oraz tablice tych struktur/klas aby rysować (również ładować) je w jednej pętli.

0

Zastosowałem się do twoich skazówek i działa xD
Posegregowałem też dane :
np nabój dałem - n1x, n1y ;)

Chciałem jeszcze się o coś spytać co zrobić żeby np obrazek ryjka nie czytało od jego lewego górnego rogu tylko od środka ?
I jest taka opcja przytrzymania lub naciśnięcia 2 raz klawisza żeby to czytało ?
Np. DOUBLE_KEY_G albo HOLD_KEY_G ?? Bo potrzebne mi to do strzelania.

0

postać:
x,y
pocisk:
px=x+(szerokośc_obrazka_postaci-szerokość_obrazka_pocisku)/2;
py=y+(wysokość_obrazka_postaci-wysokość_obrazka_pocisku)/2;
każdy kolejny pocisk rób w osobnym obiekcie aby mogłeś wystrzelić kolejny pocisk wcześniej niż obecny doleciał.

1 użytkowników online, w tym zalogowanych: 0, gości: 1