‫Hallo en welkom deze lezing.
‫We gaan leren hoe we een stuk codevariabel aantal keren kunnen uitvoeren, zodat
‫we elk object kunnen afdrukken dat binnen dit gebied, deze triggercomponent, overlapt.
‫Dus je kunt hier zien dat als we allebei zijn, ik binnen sta en er is ook een waterspuwer.
‫Het drukt zowel de naam van de waterspuwers als de blauwdrukken van de speler af.
‫Laten we erin duiken en kijken hoe dit wordt gedaan.
‫Het probleem met onze code hier is dat onze array met acteurs veel meer dan één acteur kan bevatten, en
‫als we willen dat alle acteurs elkaar overlappen, willen we iets met al die
‫acteurs doen.
‫We moeten de code kunnen doorlopen.
‫Het zou zeer inefficiënt zijn om een if-statement te schrijven voor het geval we er twee of
‫drie of vier of vijf hebben, enz. En het zou zeker nooit alle gevallen opvangen omdat we een beperkt aantal
‫regels in ons bestand hebben.
‫Dus de manier waarop we hiermee omgaan, we willen een stuk code meerdere keren herhalen, maar een aantal keren dat we het
‫eigenlijk niet weten.
‫Wanneer we de code compileren, moeten we onze if-statement, waar het if-statement in wezen zegt, moet ik deze
‫code uitvoeren of niet, vervangen door iets dat zegt, moet ik deze code uitvoeren of moet ik het
‫vele malen, twee keer uitvoeren, drie keer, vier keer, enz.?
‫De manier waarop we dit doen is met iets dat een wild statement wordt genoemd.
‫Nu is het heel erg gebouwd als een if-statement.
‫Dus terwijl je dan een soort booleaanse waarde tussen haakjes plaatst, en dan hebben we enkele
‫accolades en binnen de accolades, een codeblok dat steeds opnieuw
‫wordt uitgevoerd totdat de voorwaarde in onze wilde verklaring onwaar wordt .
‫Daarom heet het while.
‫Dus terwijl dit ding waar is, voer deze code uit.
‫Het lijkt dus een beetje op een if-statement in die zin dat het de code soms helemaal
‫niet uitvoert, maar in tegenstelling tot het statement dat een stuk code maar één keer kan uitvoeren, kan
‫het wild-statement het eigenlijk voor altijd blijven uitvoeren als deze boolean nooit wordt vals.
‫Dus waarom is dit handig?
‫Welnu, we kunnen een int 32 maken en het index noemen en beginnen bij nul.
‫En elke keer dat we door de body van deze wilde lus gaan, verhogen we de waarde die in die index is
‫opgeslagen.
‫We zouden dus kunnen zeggen dat index gelijk is aan index plus één.
‫In C++ is er een afkorting om dit te doen in plaats van index plus één te doen,
‫zoals dit, je doet plus plus index, en dat voegt er gewoon één toe aan wat er in de indexvariabele is opgeslagen.
‫Oké.
‫Dus we beginnen bij nul.
‫Elke keer dat we rondgaan, verhogen we de index.
‫En wat we kunnen doen, is dat we het zo kunnen maken dat we alleen rond deze wilde lus gaan terwijl onze index binnen de
‫grenzen van onze array ligt.
‫We kunnen dus zeggen dat de index kleiner moet zijn dan de actoren dot num.
‫Dus dat is de grootte van de array.
‫Onthoud dat als we vijf items in de array hebben, het laatste item in de array index vier is.
‫En dus kunnen we zien dat dit waar is wanneer de index geldig is, wanneer index vier kleiner is dan vijf.
‫Maar zodra die index voorbij het einde van de array gaat, als het index vijf bereikt, dan
‫zal het acteursgetal niet langer zijn, vijf is niet langer minder dan vijf.
‫Dus de while-lus stopt met uitvoeren en gaat verder met de rest van de functie.
‫Dus wat dat betekent is dat we nu de code die we hierboven hadden kunnen nemen en deze kunnen herschrijven, nemen, kopiëren,
‫uitknippen en hier over een tijdje plakken.
‫Lus.
‫Maar voordat we de index verhogen, het belangrijkste, want wat we gaan doen is deze
‫nul vervangen waar we acteur nul kregen, kunnen we deze vervangen door acteursindex.
‫Dus laten we dit volgen.
‫Hoe zou dit werken.
‫Leuk.
‫Verwijder onze if-verklaring, want dat verwart de zaken een beetje.
‫Dus we beginnen met de waarde in de variabele index wordt nul.
‫Stel je nu voor dat we moeten handelen om de dingen eenvoudig te houden is nul minder dan twee.
‫Ja ja het is.
‫Dus we gaan naar binnen en we krijgen acteur nul, we krijgen de naam en we loggen uit en dan verhogen we de waarde in
‫index met één.
‫Dus het gaat van nul naar één.
‫Nu gaan we terug om de while-lusvoorwaarde te evalueren en we zeggen is één minder dan twee?
‫Jawel.
‫We kunnen dan naar binnen gaan en acteur één halen en dan gaan we zijn naam halen en zijn naam afdrukken.
‫Dan verhogen we de index opnieuw naar index twee en stellen we de vraag opnieuw in de while-lus en zeggen we dat
‫twee minder dan twee is?
‫Nou, het antwoord is nee.
‫Dus we slaan de body van de while-lus over en voeren de rest van de code uit.
‫Dat is dus eigenlijk wat we willen bereiken.
‫We willen de naam van elke actor in de array afdrukken, en dat is wat dit stukje code gaat
‫doen.
‫Laten we doorgaan en het compileren en controleren of ik gelijk heb.
‫Als we doorgaan en op play drukken en in de box stappen, kun je zien dat we alleen de BP-speler
‫overlapten.
‫Wat als we onze waterspuwer gaan halen?
‫Als we het alleen in de stuiter steken, kun je zien dat we de waterspuwer overlappen.
‫Maar wat als ik ook instap?
‫Nu kun je zien dat het zowel de speler als de waterspuwer overlapt, allemaal in hetzelfde frame.
‫Dus onze wilde lus werkt.
‫Het voert een stuk code meerdere keren uit wanneer er meerdere actoren in de array zijn.
‫Omdat dit patroon zo gewoon is dat we een soort index hebben en we verhogen het elke keer dat we door
‫de lus gaan.
‫Er is eigenlijk een afkorting hiervoor in C ++, en als je typt voor in je Visual Studio-code, dan is er een
‫fragment voor een vier lus hier dat je kunt uitbreiden en je kunt zien dat dit een algemene structuur is.
‫Het heeft hier iets dat maat T wordt genoemd.
‫We kunnen dat gewoon vervangen door INT 32 voor onze doeleinden.
‫En wat dit in wezen zegt, is dat er drie uitspraken zijn tussen de haakjes van de for-lus.
‫De eerste is gelijk aan waar we onze indexvariabele instellen vóór onze while-lus.
‫De tweede is de voorwaarde die gelijk is aan wat we in onze while-lus plaatsen.
‫En je kunt zien dat we de telling kunnen vervangen door acteurs punt num.
‫En dan is het laatste stukje eigenlijk de plus plus of je het nu ervoor of erna zet, de
‫index is niet zo belangrijk, maar je kunt zien dat dit de waarde in de index verhoogt.
‫Het is dus gelijk aan de regel die we aan het einde van onze lus plaatsen.
‫Dus dit brengt alles in één regel samen wat we moesten verspreiden over meerdere met behulp van onze
‫wilde lus.
‫Dus hier is een simpele uitdaging voor jou.
‫Converteer je waah-lus naar een for-lus.
‫Je gaat kopiëren en de hoofdtekst van de code verandert de index van die naamindex in I.
‫We gebruiken meestal de afkorting in for-loops van I gewoon een afkorting voor index echt en compileren
‫en testen speelt video af.
‫Oké.
‫Welkom terug.
‫Dit zou dus vrij eenvoudig moeten zijn.
‫We willen de index plus plus hier niet.
‫Dus de rest schrappen we.
‫Een verandering over waar we de actoren-array indexeren met de index-variabele.
‫We gaan dat veranderen in IE de variabele.
‫Het is alleen beschikbaar binnen deze for-lus.
‫Dat is een ander voordeel van de syntaxis van de volledige lus, dat de IE-variabele alleen beschikbaar is, alleen
‫beschikbaar binnen de volledige lus, terwijl wanneer we het hier in de while-lus hebben
‫gedeclareerd, het buiten beschikbaar is, wat de indexen vervuilt die we kunnen later gebruiken, zodat we die wilde lus kunnen verwijderen.
‫En je kunt zien dat de volledige lus veel compacter is en je zult wennen aan de enigszins
‫vreemde syntaxis die het heeft.
‫Laten we doorgaan en compileren en gewoon controleren of het inderdaad hetzelfde werk doet.
‫Als ik mijn waterspuwer ga pakken en bij de overlappende acteurs kom, kun je zien dat het inderdaad onze beide acteurs
‫aan het printen is als we allebei overlappen in de alkoof.
‫Goed spul.
‫Dus in deze lezing hebben we een nieuw programmeeridee gezien, het idee van lussen, en we zijn
‫vooral de Y-lus en de for-lus tegengekomen.
‫Ik zie je in de volgende lezing.