IF-ologia - Tworzenie gier
Podczas ostatniego tekstu na temat tworzenia marynarzyka rozpoczęliśmy koncepcją ifów. Gry to w zasadzie IFologia, czyli bardzo często będziemy się tym posługiwać, dlatego pomyślałem, że warto poświęcić temu zagadnieniu cały artykuł. Oczywiście nie tylko w grach się robi IFologię, bo często w stronach internetowych (czy użytkownik wypełnił pola i czy wypełnił poprawnie i tak dalej).
Oczywiście przypomnijmy - if to "jeśli". Ale są jeszcze dodatkowe dwa człony.
Else if
Else if oznacza tyle co "jeśli nie to sprawdź". Powiedzmy, że mamy dwa paski zdrowia. Zielony oznacza, że zdrowie jest wysokie (50% i w górę), a czerwone gdy jest małe - od 1 do 49%.
if(health>=50)
{
// TO JEST KLASYCZNY IF, KTÓREGO SIĘ NAUCZYLIŚMY
// Kod na zielone zdrowie
}
else if(health>0 && health<50)
{
// Kod na czerwone zdrowie
}
Użyliśmy tutaj else if, ale również AND o którym była mowa wcześniej.
Else
Else oznacza wszystko co nie jest w ramach tego. Skoro życie mamy od 1 do 49 (czerwone) i od 50 w górę (zielone) to co będzie jak będzie 0? Technicznie jest to dziura spoza ifa. I tym zajmuje się else - gdy żaden warunek nie jest spełniony włącza się kod w Else.
if(health>=50)
{
// TO JEST KLASYCZNY IF, KTÓREGO SIĘ NAUCZYLIŚMY
// Kod na zielone zdrowie
}
else if(health>0 && health<50)
{
// Kod na czerwone zdrowie
}
else
{
// Kod na trupa
}
If to nieograniczone coś
If to podstawowa forma sprawdzenia. Można praktycznie sprawdzać mnóstwo elementów - Czy dany kod się poprawnie wykonał, czy jest tekstem czy cyfrą, czy gracz żyje, ile kart ma gracz, ile naboi ... to wszystko trzeba pisać i uwzględniać. Dlatego ta lekcja jest podstawą tworzenia gier. Pewnie da się stworzyć jakieś gry bez ifów, ale bez tego nie ma co na poważnie myśleć nawet o amatorskim tworzeniu, na którym się skupiamy ;)
Nam się przyda do sprawdzania czy wygraliśmy, przegraliśmy czy zremisowaliśmy.
Kod do przetestowania
Nie będę wrzucał binarnych plików, gdyż powinniście sami kompilować rzeczy ;)
http://gmclan.org/up6184_14_if.html
Czego się nauczyliśmy - szybkie podsumowanie lekcji.
- Ify - sprawdzanie warunku
- Else if - jeśli pierwsze sprawdzenie jest nieprawidłowe, to sprawdź inny warunek
- Else - jeśli żaden z powyższych warunków nie jest spełniony, wykonaj to.
- TRZEBA TEGO SIĘ NAUCZYĆ
- If > Switch :P




A trzeba było się uczyć asemblera. Wiedziałbyś, że switche i tak są kompilowane do if-ów. Są one tylko ułatwieniem dla programisty, ale kod wynikowy na ifach będzie taki sam jak na switchach :)
Ale i tak podstawowa forma sprawdzenia to:
;)
No nie znam asma :P W każdym razie if w zasadzie jest wydajniejszy jak się go rozpisze, bo może działać po drzewku.
To tak dla przykładu - chcemy wykonać coś, gdy i=64
(...)
I w ten sposób zamiast 63 sprawdzeń zrobisz z 10 :D