‫Witam i zapraszam na ten wykład.
‫Będziemy się uczyć, w jaki sposób możemy wykonać część zmiennej kodu wiele razy, aby
‫wydrukować każdy obiekt, który nakłada się w tym obszarze, ten składnik wyzwalający.
‫Więc tutaj widać, że kiedy jesteśmy oboje, stoję w środku i jest też gargulec.
‫Wypisuje zarówno imię gargulców, jak i nazwę planu gracza.
‫Zanurzmy się i zobaczmy, jak to się robi.
‫Teraz problem z naszym kodem polega na tym, że nasza tablica aktorów może zawierać znacznie więcej niż jednego aktora,
‫a jeśli chcemy, aby wyświetlała wszystkich nakładających się aktorów, chcemy coś zrobić ze wszystkimi
‫tymi aktorami.
‫Musimy być w stanie przejrzeć kod.
‫Byłoby wysoce nieefektywne napisanie instrukcji if dla przypadku, gdy mamy dwa, trzy,
‫cztery lub pięć itd. I na pewno nigdy nie wykryje wszystkich przypadków, ponieważ w naszym
‫pliku mamy ograniczoną liczbę wierszy.
‫Więc jak sobie z tym radzimy, chcemy powtórzyć fragment kodu wiele razy, ale wiele razy, których tak naprawdę
‫nie znamy.
‫Kiedy kompilujemy kod, musimy zastąpić naszą instrukcję if, gdzie instrukcja if zasadniczo mówi, czy mam wykonać
‫ten kod, czy nie, na coś, co mówi, czy powinienem wykonać ten kod, czy powinienem wykonać go
‫wiele razy, dwa razy, trzy razy, cztery razy itd.?
‫Sposób, w jaki to robimy, to coś, co nazywamy dzikim stwierdzeniem.
‫Teraz jest bardzo podobny do instrukcji if.
‫Więc gdy następnie umieścisz jakąś wartość logiczną w nawiasach, a potem mamy kilka nawiasów klamrowych
‫i wewnątrz nawiasów klamrowych, blok kodu, który będzie wykonywany raz
‫za razem, aż warunek w naszym dzikim oświadczeniu stanie się fałszywy .
‫Dlatego nazywa się to póki.
‫Więc póki to jest prawdą, wykonaj ten kod.
‫Przypomina to trochę instrukcję if, ponieważ czasami może w ogóle nie wykonać kodu, ale w
‫przeciwieństwie do instrukcji, która może wykonać fragment kodu tylko raz, instrukcja wild może w zasadzie
‫wykonywać ją w nieskończoność, jeśli ta wartość logiczna nigdy się nie stanie fałszywy.
‫Dlaczego to jest przydatne?
‫Cóż, moglibyśmy stworzyć int 32 i nazwać go indeksem i zacząć od zera.
‫A potem za każdym razem, gdy przechodzimy przez ciało tej dzikiej pętli, zwiększamy wartość przechowywaną w tym indeksie.
‫Możemy więc powiedzieć, że indeks równa się indeks plus jeden.
‫Teraz w C++ jest skrót, jak to zrobić, zamiast robić indeks plus jeden w ten
‫sposób, robisz plus plus indeks, a to po prostu dodaje jeden do wszystkiego, co jest przechowywane w zmiennej indeksu.
‫Dobra.
‫Więc zaczynamy od zera.
‫Za każdym razem, gdy się kręcimy, zwiększamy indeks.
‫Możemy zrobić to tak, że obejdziemy tę szaloną pętlę tylko wtedy, gdy nasz indeks znajduje się w
‫granicach naszej tablicy.
‫Możemy więc powiedzieć, że indeks musi być mniejszy niż liczba aktorów.
‫Więc to jest rozmiar tablicy.
‫Pamiętaj, że kiedy mamy pięć pozycji w tablicy, ostatnią pozycją w tablicy jest indeks czwarty.
‫Widzimy więc, że będzie to prawdą, gdy indeks jest ważny, gdy indeks czwarty jest mniejszy niż pięć.
‫Ale jak tylko ten indeks przekroczy koniec tablicy, kiedy dojdzie do indeksu pięć, to numer aktora
‫nie będzie już wyższy niż pięć, nie będzie już mniejszy niż pięć.
‫Tak więc pętla while zatrzyma wykonywanie i będzie kontynuować resztę funkcji.
‫Oznacza to, że możemy teraz wziąć kod, który mieliśmy powyżej i przepisać go, wziąć, skopiować, wyciąć i
‫wkleić tutaj za jakiś czas.
‫Pętla.
‫Ale zanim zwiększymy indeks, co najważniejsze, ponieważ to, co zamierzamy zrobić, to zastąpić to zero
‫w miejscu, w którym otrzymaliśmy zero aktora, możemy to zastąpić indeksem aktora.
‫Więc prześledźmy to.
‫Jak to działa.
‫Ładny.
‫Usuń naszą instrukcję if, ponieważ jest to trochę mylące.
‫Więc zaczynamy, wartość w indeksie zmiennej będzie wynosić zero.
‫Teraz wyobraź sobie, że musimy działać, aby wszystko było proste, zero mniej niż dwa.
‫Tak tak to jest.
‫Więc wchodzimy i otrzymujemy aktora zero, dostajemy jego nazwę i wylogowujemy go, a następnie zwiększamy wartość indeksu
‫o jeden.
‫Więc przechodzi od zera do jedności.
‫Teraz wracamy do oceny warunku pętli while i mówimy, że jeden mniej niż dwa?
‫Tak to jest.
‫Możemy wtedy wejść i zdobyć aktora pierwszego, a potem uzyskamy jego imię i wydrukujemy jego imię.
‫Następnie ponownie zwiększamy indeks do indeksu dwa i ponownie zadajemy pytanie w pętli while mówiącej, że dwa
‫mniej niż dwa?
‫Cóż, odpowiedź brzmi nie.
‫Pomijamy więc treść pętli while i kontynuujemy wykonywanie reszty kodu.
‫Więc to jest w zasadzie to, co chcemy osiągnąć.
‫Chcemy wypisać nazwę każdego aktora w tablicy i to właśnie zrobi ten fragment kodu.
‫Chodźmy dalej, skompilujmy go i sprawdźmy, czy mam rację.
‫Jeśli pójdziemy dalej, wciśniemy play i wejdziemy do pudełka, widać, że nakładaliśmy się tylko na gracza
‫BP.
‫A jeśli pójdziemy po naszego gargulca?
‫Jeśli włożymy tylko to w odbicie, widać, że nakładamy się na gargulca.
‫Ale co, jeśli ja też wkroczę?
‫Teraz możesz zobaczyć, że drukuje to, co nakłada się na gracza i gargulca w tej samej ramce.
‫Więc nasza dzika pętla działa.
‫Wielokrotnie wykonuje fragment kodu, gdy w tablicy jest wielu aktorów.
‫Teraz, ponieważ ten wzorzec jest tak powszechny, że mamy jakiś indeks i zwiększamy go za każdym razem, gdy przechodzimy
‫przez pętlę.
‫W rzeczywistości jest trochę skrótów w C++, a jeśli wpiszesz for w kodzie Visual Studio, to jest tu
‫fragment z czterema pętlami, które możesz rozwinąć i możesz zobaczyć, że jest to ogólna struktura.
‫Tutaj jest coś, co nazywa się rozmiarem T.
‫Możemy po prostu zastąpić to INT 32 dla naszych celów.
‫Zasadniczo oznacza to, że w nawiasach pętli for znajdują się trzy instrukcje.
‫Pierwsza z nich odpowiada miejscu, w którym ustawiliśmy zmienną indeksową przed pętlą while.
‫Drugi to warunek, który jest równoważny temu, co umieściliśmy w naszej pętli while.
‫I widać, że moglibyśmy zastąpić liczbę aktorami kropka num.
‫I wtedy ostatni bit to w zasadzie plus plus, niezależnie od tego, czy umieścisz go przed,
‫czy po, indeks nie jest zbyt ważny, ale widać, że to zwiększa wartość indeksu.
‫Jest to więc odpowiednik linii, którą umieściliśmy na końcu naszej pętli.
‫To po prostu łączy w jednym wierszu to, co musieliśmy rozłożyć na wiele, używając naszej dzikiej
‫pętli.
‫Oto proste wyzwanie dla Ciebie.
‫Konwertuj pętlę waah na pętlę for.
‫Zamierzasz skopiować, a treść kodu zmieni indeks z tego indeksu nazw na I.
‫Zwykle używamy skrótu w pętlach for z I po prostu skrótem od indeksu, a kompilacja
‫i testowanie odtwarzania wideo.
‫Dobra.
‫Witamy spowrotem.
‫Więc to powinno być całkiem proste.
‫Nie chcemy tutaj indeksu plus plus.
‫Więc zamierzamy wyciąć resztę.
‫Zmiana miejsca indeksowania tablicy aktorów za pomocą zmiennej index.
‫Zmienimy to na IE zmienną.
‫Jest dostępny tylko w tej pętli for.
‫Kolejną zaletą składni pełnej pętli jest to, że zmienna IE jest dostępna tylko w pełnej
‫pętli, podczas gdy kiedy zadeklarowaliśmy ją tutaj w pętli while, jest
‫dostępna na zewnątrz, co powoduje zanieczyszczenie indeksów, które możemy użyj później, abyśmy mogli usunąć tę dziką pętlę.
‫I widać, że pełna pętla jest znacznie bardziej skondensowana i przyzwyczaisz się do nieco
‫dziwnej składni, którą ma.
‫Przejdźmy dalej, skompilujmy i sprawdźmy, czy rzeczywiście wykonuje to samo zadanie.
‫Jeśli pójdę, złapię mojego gargulca i podejdę do nakładających się aktorów, widać, że rzeczywiście drukuje to obu
‫naszych aktorów, kiedy obaj nakładamy się we wnęce.
‫Świetna sprawa.
‫W tym wykładzie widzieliśmy więc nowy pomysł na programowanie, ideę pętli, a szczególnie natknęliśmy się
‫na pętlę Y i pętlę for.
‫Do zobaczenia na następnym wykładzie.