﻿1
00:00:04,390 --> 00:00:05,290
‫Ciao e Benvenuto.

2
00:00:05,290 --> 00:00:11,140
‫In questa lezione impareremo gli operatori booleani in modo da poter fare

3
00:00:11,140 --> 00:00:18,640
‫affermazioni complicate che richiedono più booleani per essere vere, come avere un gargoyle accettato solo se

4
00:00:18,640 --> 00:00:23,440
‫è il tag corretto e inoltre non viene afferrato.

5
00:00:23,440 --> 00:00:28,780
‫Quindi, quando lascio andare il gargoyle, puoi vedere che il muro risponde solo a quel punto.

6
00:00:29,050 --> 00:00:30,790
‫Immergiamoci e vediamo come funziona.

7
00:00:32,050 --> 00:00:40,600
‫Quindi ora idealmente vorremmo che il nostro componente trigger ignorasse o non assumesse un attore accettabile che viene

8
00:00:40,600 --> 00:00:41,920
‫attualmente catturato.

9
00:00:42,070 --> 00:00:48,790
‫Quindi, per cambiare questo, andrò all'implementazione dell'attore accettabile nel componente trigger

10
00:00:48,790 --> 00:00:49,440
‫CBP.

11
00:00:50,110 --> 00:00:54,820
‫E puoi vedere che se State stava dicendo, prendiamo un attore, se ha il tag

12
00:00:54,820 --> 00:00:57,340
‫accettabile ed è l'unica cosa che stiamo facendo.

13
00:00:57,790 --> 00:01:01,740
‫Ma quello che voglio fare è subordinare questo a due cose.

14
00:01:01,750 --> 00:01:04,900
‫Come combiniamo due valori booleani?

15
00:01:04,910 --> 00:01:06,250
‫Bene, ci sono un paio di opzioni.

16
00:01:06,250 --> 00:01:08,450
‫Abbiamo degli operatori per questo.

17
00:01:08,470 --> 00:01:12,850
‫Uno di questi è l'operatore e commerciale e commerciale, che leggiamo come.

18
00:01:12,850 --> 00:01:17,650
‫E questo significa sostanzialmente che questo sarà un booleano di combinazione di due.

19
00:01:17,650 --> 00:01:19,780
‫Quindi questo è vero solo se entrambi sono veri.

20
00:01:20,410 --> 00:01:27,400
‫Quindi se avessimo vero e vero, allora sarebbe uguale a vero.

21
00:01:28,000 --> 00:01:32,890
‫Considerando che se uno di questi è falso, quindi se quello di

22
00:01:32,890 --> 00:01:40,090
‫destra è falso, allora sarà tutto falso, ecc. C'è un'altra opzione qui, che consiste nell'usare questo operatore a

23
00:01:40,090 --> 00:01:43,930
‫doppia barra in questo modo e questo viene letto come o.

24
00:01:44,200 --> 00:01:49,570
‫E fondamentalmente questo significa che se uno di questi due è vero, il risultato sarà vero.

25
00:01:49,840 --> 00:01:52,480
‫E inoltre, se entrambi sono veri, il risultato sarà vero.

26
00:01:52,480 --> 00:01:57,260
‫Ma se entrambi sono falsi, il risultato sarà falso.

27
00:01:57,490 --> 00:02:00,480
‫Quindi queste sono alcune delle espressioni comuni che usiamo.

28
00:02:00,490 --> 00:02:08,800
‫Un'altra cosa che usiamo è il punto esclamativo, e il punto esclamativo sostanzialmente inverte qualsiasi valore booleano che

29
00:02:08,800 --> 00:02:11,680
‫abbiamo e lo leggiamo come no.

30
00:02:12,130 --> 00:02:18,790
‫Quindi puoi avere false, ma poiché ci metto un nodo davanti, tutto questo valore, questa espressione

31
00:02:18,790 --> 00:02:19,780
‫diventa vera.

32
00:02:20,050 --> 00:02:25,810
‫E se dovessi ordinarlo con false, allora bene, perché almeno uno di loro è vero, allora

33
00:02:25,810 --> 00:02:27,380
‫il risultato sarà vero.

34
00:02:28,390 --> 00:02:36,220
‫Quindi quello che vogliamo fare qui è essenzialmente dire che se ha un tag attore, quello è

35
00:02:36,220 --> 00:02:39,910
‫il tag atto accettabile, ma non lo ha.

36
00:02:40,270 --> 00:02:46,180
‫Quindi in questo caso e non ha il tag attore afferrato, allora è accettabile.

37
00:02:46,300 --> 00:02:47,920
‫Tante sfide per te.

38
00:02:47,920 --> 00:02:52,300
‫Come useresti quei tre operatori che ho appena spiegato?

39
00:02:52,300 --> 00:02:57,210
‫Non devi usarli tutti, ma quali useresti e come scriveresti questa dichiarazione

40
00:02:57,220 --> 00:02:57,760
‫se?

41
00:03:00,050 --> 00:03:00,350
‫Bene.

42
00:03:00,350 --> 00:03:03,170
‫Quindi lo metterò in variabili booleane per renderlo super chiaro.

43
00:03:03,500 --> 00:03:14,360
‫Quindi ho bool che ha un tag accettabile sarà uguale all'attore che ha un tag accettabile.

44
00:03:14,540 --> 00:03:17,690
‫Va bene così e punto e virgola alla fine della riga.

45
00:03:17,960 --> 00:03:27,530
‫Ora un altro bool sarà se verrà afferrato e possiamo ottenerlo andando all'attore arrow attore ha tag e

46
00:03:28,070 --> 00:03:32,930
‫questo caso verrà semplicemente afferrato in questo modo.

47
00:03:32,990 --> 00:03:39,440
‫Quindi possiamo dire che, indipendentemente dal fatto che sia afferrato o meno su questa base, allora nel caso

48
00:03:39,440 --> 00:03:44,330
‫ciò che vogliamo dire ha un tag accettabile e quindi è e commerciale.

49
00:03:44,330 --> 00:03:51,680
‫La e commerciale non è un punto esclamativo viene afferrata in questo modo.

50
00:03:51,980 --> 00:03:59,030
‫Quindi si legge abbastanza bene se leggi ad alta voce la e commerciale e il punto esclamativo come e

51
00:03:59,030 --> 00:04:05,600
‫e non così se accettabile ha un tag accettabile e non viene afferrato, allora restituiamo questo attore.

52
00:04:05,810 --> 00:04:08,000
‫Compiliamolo e vediamo se funziona.

53
00:04:08,270 --> 00:04:14,870
‫Quindi andiamo avanti e premiamo bene play, prendiamo un gargoyle e corriamo verso l'area del grilletto.

54
00:04:15,140 --> 00:04:20,450
‫E vedi, sto mettendo il gargoyle, ma non sta succedendo nulla perché non l'ho ancora rilasciato.

55
00:04:20,630 --> 00:04:22,880
‫E se provassi a far cadere il loro placcaggio?

56
00:04:22,880 --> 00:04:23,780
‫Eccoli.

57
00:04:23,830 --> 00:04:29,630
‫Non appena lo rilascio, lo attiva, mi strappa il gargoyle e scompare nel

58
00:04:29,630 --> 00:04:30,110
‫terreno.

59
00:04:30,290 --> 00:04:38,240
‫Ora ci sono un paio di posti in afferrare un CP in cui dobbiamo avere istruzioni if in cui potremmo

60
00:04:38,240 --> 00:04:43,460
‫averne solo uno se dovessimo usare l'end o e non gli operatori.

61
00:04:43,730 --> 00:04:48,920
‫Quindi uno dei trucchi qui è che quando stai facendo qualcosa del genere in cui stiamo

62
00:04:48,920 --> 00:04:55,270
‫controllando se qualcosa non è un puntatore nullo, l'altra opzione è che puoi semplicemente rimuovere questo puntatore non uguale a null.

63
00:04:55,280 --> 00:05:04,160
‫E se dici semplicemente se e poi inserisci una sorta di puntatore come booleano, questo controlla automaticamente che non

64
00:05:04,160 --> 00:05:06,590
‫sia un puntatore nullo.

65
00:05:06,590 --> 00:05:13,760
‫Quindi qui sta dicendo se l'handle della fisica è disponibile qui, sta dicendo che se il componente grab è disponibile,

66
00:05:14,030 --> 00:05:16,310
‫allora possiamo andare avanti e usarlo.

67
00:05:16,490 --> 00:05:19,340
‫Quindi ti sfidiamo a combinare le tue affermazioni if.

68
00:05:19,340 --> 00:05:22,280
‫Quindi li unirai insieme nei componenti tecnologici.

69
00:05:22,280 --> 00:05:28,130
‫Pensa se hai bisogno di usare la e commerciale, la e commerciale, la e la OR o se

70
00:05:28,130 --> 00:05:35,150
‫devi usare una negazione o un nodo o un punto esclamativo e poi uniscili insieme anche in rilascio e testa la tua

71
00:05:35,150 --> 00:05:37,490
‫funzionalità e vedi se è ancora lavori.

72
00:05:37,820 --> 00:05:39,530
‫Metti in pausa il video e prova.

73
00:05:42,810 --> 00:05:43,320
‫Bene.

74
00:05:43,320 --> 00:05:44,020
‫Ben tornato.

75
00:05:44,040 --> 00:05:49,950
‫Quindi faremo uso di questo perché fondamentalmente quello che vogliamo fare e rilasciare è

76
00:05:49,950 --> 00:05:57,510
‫dire che se abbiamo una maniglia fisica valida e quella maniglia fisica ha un componente afferrato, allora vogliamo fare

77
00:05:57,510 --> 00:06:00,200
‫il corpo di questa dichiarazione se.

78
00:06:00,210 --> 00:06:02,820
‫Quindi è abbastanza semplice scriverlo così.

79
00:06:03,090 --> 00:06:12,180
‫Possiamo dire che se la maniglia della fisica e la maniglia della fisica vengono catturate, allora possiamo fare quanto segue.

80
00:06:12,180 --> 00:06:18,390
‫Questo ci consente di rimuovere questa istruzione return if anticipata e rendere il codice un po' più breve.

81
00:06:18,960 --> 00:06:26,340
‫Ora, gli occhi d'aquila tra voi potrebbero preoccuparsi del fatto che, ehi, stiamo facendo riferimento a questa

82
00:06:26,340 --> 00:06:32,100
‫maniglia fisica all'interno dell'istruzione if per valutare se questa affermazione finale dovrebbe funzionare.

83
00:06:32,790 --> 00:06:38,250
‫Ora c'è una caratteristica di e che valuterà prima la cosa a sinistra.

84
00:06:38,670 --> 00:06:43,860
‫E se quella cosa è falsa, allora non valuta nemmeno la cosa a destra.

85
00:06:43,860 --> 00:06:44,760
‫Non è necessario.

86
00:06:44,760 --> 00:06:47,310
‫Sa già che il risultato sarà falso.

87
00:06:47,670 --> 00:06:49,950
‫Non ha bisogno di valutare ulteriormente nulla.

88
00:06:50,250 --> 00:06:57,510
‫Quindi ciò significa che è sicuro fare qualcosa del genere in cui il risultato a destra di una calcolatrice è

89
00:06:57,510 --> 00:07:01,260
‫sicuro solo se il risultato a sinistra è vero.

90
00:07:01,830 --> 00:07:03,180
‫E questa è una proprietà abbastanza utile.

91
00:07:03,180 --> 00:07:09,000
‫E vedi questo usato abbastanza quando usi i puntatori che prima controllerai il puntatore e poi avrai

92
00:07:09,000 --> 00:07:10,260
‫una e commerciale.

93
00:07:10,260 --> 00:07:13,830
‫E commerciale, quindi utilizzerai il puntatore sul lato destro.

94
00:07:13,830 --> 00:07:18,450
‫Ma per favore, per favore, per favore, non essere tentato di scambiare questi due in ordine.

95
00:07:18,660 --> 00:07:22,680
‫Non funzionerà il contrario e si verificheranno arresti anomali.

96
00:07:23,040 --> 00:07:28,080
‫Quindi andiamo ai nostri componenti tick in cui essenzialmente stiamo facendo esattamente la stessa cosa.

97
00:07:28,080 --> 00:07:30,480
‫Volevamo verificare di avere un componente afferrato.

98
00:07:30,840 --> 00:07:36,930
‫Quindi quello che possiamo fare qui è che possiamo gestire la fisica e la fisica.

99
00:07:37,500 --> 00:07:38,910
‫Componente afferrato da freccia.

100
00:07:38,910 --> 00:07:44,370
‫Non abbiamo bisogno che non sia uguale a null puntatore per mantenerlo pulito e quindi possiamo andare avanti e rimuovere

101
00:07:44,370 --> 00:07:49,710
‫l'istruzione if con il ritorno e semplicemente mantenere basse le righe di codice, mantenere la leggibilità un po 'più

102
00:07:49,710 --> 00:07:50,190
‫alta.

103
00:07:50,460 --> 00:07:50,940
‫Roba fantastica.

104
00:07:50,940 --> 00:07:57,180
‫Quindi in questa lezione abbiamo visto come usare gli operatori end or and not in C++.

105
00:07:57,510 --> 00:07:58,740
‫Ci vediamo alla prossima lezione.

