‫Ciao e Benvenuto.
‫In questa lezione impareremo gli operatori booleani in modo da poter fare
‫affermazioni complicate che richiedono più booleani per essere vere, come avere un gargoyle accettato solo se
‫è il tag corretto e inoltre non viene afferrato.
‫Quindi, quando lascio andare il gargoyle, puoi vedere che il muro risponde solo a quel punto.
‫Immergiamoci e vediamo come funziona.
‫Quindi ora idealmente vorremmo che il nostro componente trigger ignorasse o non assumesse un attore accettabile che viene
‫attualmente catturato.
‫Quindi, per cambiare questo, andrò all'implementazione dell'attore accettabile nel componente trigger
‫CBP.
‫E puoi vedere che se State stava dicendo, prendiamo un attore, se ha il tag
‫accettabile ed è l'unica cosa che stiamo facendo.
‫Ma quello che voglio fare è subordinare questo a due cose.
‫Come combiniamo due valori booleani?
‫Bene, ci sono un paio di opzioni.
‫Abbiamo degli operatori per questo.
‫Uno di questi è l'operatore e commerciale e commerciale, che leggiamo come.
‫E questo significa sostanzialmente che questo sarà un booleano di combinazione di due.
‫Quindi questo è vero solo se entrambi sono veri.
‫Quindi se avessimo vero e vero, allora sarebbe uguale a vero.
‫Considerando che se uno di questi è falso, quindi se quello di
‫destra è falso, allora sarà tutto falso, ecc. C'è un'altra opzione qui, che consiste nell'usare questo operatore a
‫doppia barra in questo modo e questo viene letto come o.
‫E fondamentalmente questo significa che se uno di questi due è vero, il risultato sarà vero.
‫E inoltre, se entrambi sono veri, il risultato sarà vero.
‫Ma se entrambi sono falsi, il risultato sarà falso.
‫Quindi queste sono alcune delle espressioni comuni che usiamo.
‫Un'altra cosa che usiamo è il punto esclamativo, e il punto esclamativo sostanzialmente inverte qualsiasi valore booleano che
‫abbiamo e lo leggiamo come no.
‫Quindi puoi avere false, ma poiché ci metto un nodo davanti, tutto questo valore, questa espressione
‫diventa vera.
‫E se dovessi ordinarlo con false, allora bene, perché almeno uno di loro è vero, allora
‫il risultato sarà vero.
‫Quindi quello che vogliamo fare qui è essenzialmente dire che se ha un tag attore, quello è
‫il tag atto accettabile, ma non lo ha.
‫Quindi in questo caso e non ha il tag attore afferrato, allora è accettabile.
‫Tante sfide per te.
‫Come useresti quei tre operatori che ho appena spiegato?
‫Non devi usarli tutti, ma quali useresti e come scriveresti questa dichiarazione
‫se?
‫Bene.
‫Quindi lo metterò in variabili booleane per renderlo super chiaro.
‫Quindi ho bool che ha un tag accettabile sarà uguale all'attore che ha un tag accettabile.
‫Va bene così e punto e virgola alla fine della riga.
‫Ora un altro bool sarà se verrà afferrato e possiamo ottenerlo andando all'attore arrow attore ha tag e
‫questo caso verrà semplicemente afferrato in questo modo.
‫Quindi possiamo dire che, indipendentemente dal fatto che sia afferrato o meno su questa base, allora nel caso
‫ciò che vogliamo dire ha un tag accettabile e quindi è e commerciale.
‫La e commerciale non è un punto esclamativo viene afferrata in questo modo.
‫Quindi si legge abbastanza bene se leggi ad alta voce la e commerciale e il punto esclamativo come e
‫e non così se accettabile ha un tag accettabile e non viene afferrato, allora restituiamo questo attore.
‫Compiliamolo e vediamo se funziona.
‫Quindi andiamo avanti e premiamo bene play, prendiamo un gargoyle e corriamo verso l'area del grilletto.
‫E vedi, sto mettendo il gargoyle, ma non sta succedendo nulla perché non l'ho ancora rilasciato.
‫E se provassi a far cadere il loro placcaggio?
‫Eccoli.
‫Non appena lo rilascio, lo attiva, mi strappa il gargoyle e scompare nel
‫terreno.
‫Ora ci sono un paio di posti in afferrare un CP in cui dobbiamo avere istruzioni if in cui potremmo
‫averne solo uno se dovessimo usare l'end o e non gli operatori.
‫Quindi uno dei trucchi qui è che quando stai facendo qualcosa del genere in cui stiamo
‫controllando se qualcosa non è un puntatore nullo, l'altra opzione è che puoi semplicemente rimuovere questo puntatore non uguale a null.
‫E se dici semplicemente se e poi inserisci una sorta di puntatore come booleano, questo controlla automaticamente che non
‫sia un puntatore nullo.
‫Quindi qui sta dicendo se l'handle della fisica è disponibile qui, sta dicendo che se il componente grab è disponibile,
‫allora possiamo andare avanti e usarlo.
‫Quindi ti sfidiamo a combinare le tue affermazioni if.
‫Quindi li unirai insieme nei componenti tecnologici.
‫Pensa se hai bisogno di usare la e commerciale, la e commerciale, la e la OR o se
‫devi usare una negazione o un nodo o un punto esclamativo e poi uniscili insieme anche in rilascio e testa la tua
‫funzionalità e vedi se è ancora lavori.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi faremo uso di questo perché fondamentalmente quello che vogliamo fare e rilasciare è
‫dire che se abbiamo una maniglia fisica valida e quella maniglia fisica ha un componente afferrato, allora vogliamo fare
‫il corpo di questa dichiarazione se.
‫Quindi è abbastanza semplice scriverlo così.
‫Possiamo dire che se la maniglia della fisica e la maniglia della fisica vengono catturate, allora possiamo fare quanto segue.
‫Questo ci consente di rimuovere questa istruzione return if anticipata e rendere il codice un po' più breve.
‫Ora, gli occhi d'aquila tra voi potrebbero preoccuparsi del fatto che, ehi, stiamo facendo riferimento a questa
‫maniglia fisica all'interno dell'istruzione if per valutare se questa affermazione finale dovrebbe funzionare.
‫Ora c'è una caratteristica di e che valuterà prima la cosa a sinistra.
‫E se quella cosa è falsa, allora non valuta nemmeno la cosa a destra.
‫Non è necessario.
‫Sa già che il risultato sarà falso.
‫Non ha bisogno di valutare ulteriormente nulla.
‫Quindi ciò significa che è sicuro fare qualcosa del genere in cui il risultato a destra di una calcolatrice è
‫sicuro solo se il risultato a sinistra è vero.
‫E questa è una proprietà abbastanza utile.
‫E vedi questo usato abbastanza quando usi i puntatori che prima controllerai il puntatore e poi avrai
‫una e commerciale.
‫E commerciale, quindi utilizzerai il puntatore sul lato destro.
‫Ma per favore, per favore, per favore, non essere tentato di scambiare questi due in ordine.
‫Non funzionerà il contrario e si verificheranno arresti anomali.
‫Quindi andiamo ai nostri componenti tick in cui essenzialmente stiamo facendo esattamente la stessa cosa.
‫Volevamo verificare di avere un componente afferrato.
‫Quindi quello che possiamo fare qui è che possiamo gestire la fisica e la fisica.
‫Componente afferrato da freccia.
‫Non abbiamo bisogno che non sia uguale a null puntatore per mantenerlo pulito e quindi possiamo andare avanti e rimuovere
‫l'istruzione if con il ritorno e semplicemente mantenere basse le righe di codice, mantenere la leggibilità un po 'più
‫alta.
‫Roba fantastica.
‫Quindi in questa lezione abbiamo visto come usare gli operatori end or and not in C++.
‫Ci vediamo alla prossima lezione.