﻿1
00:00:04,390 --> 00:00:05,290
‫Hallo en welkom.

2
00:00:05,290 --> 00:00:11,140
‫In deze lezing gaan we leren over Booleaanse operatoren, zodat we ingewikkelde uitspraken

3
00:00:11,140 --> 00:00:18,640
‫kunnen doen waarvoor meerdere booleans nodig zijn om waar te zijn, zoals een waterspuwer alleen geaccepteerd als

4
00:00:18,640 --> 00:00:23,440
‫het de juiste tag is en ook niet wordt gegrepen.

5
00:00:23,440 --> 00:00:28,780
‫Dus als ik de waterspuwer loslaat, zie je dat de muur pas op dat punt reageert.

6
00:00:29,050 --> 00:00:30,790
‫Laten we erin duiken en kijken hoe dit werkt.

7
00:00:32,050 --> 00:00:40,600
‫Dus nu zouden we idealiter willen dat onze triggercomponent een acceptabele actor negeert of niet aanneemt die momenteel

8
00:00:40,600 --> 00:00:41,920
‫wordt gepakt.

9
00:00:42,070 --> 00:00:48,790
‫Dus om dit te veranderen, ga ik in op onze acceptabele actor-implementatie in triggercomponent

10
00:00:48,790 --> 00:00:49,440
‫CBP.

11
00:00:50,110 --> 00:00:54,820
‫En je kunt zien dat als de staat op dit moment zou zeggen, laten we een acteur nemen, als het de

12
00:00:54,820 --> 00:00:57,340
‫acceptabele tag heeft en dat is het enige wat we doen.

13
00:00:57,790 --> 00:01:01,740
‫Maar wat ik wil doen is dit afhankelijk maken van twee dingen.

14
00:01:01,750 --> 00:01:04,900
‫Hoe combineren we twee Booleaanse waarden?

15
00:01:04,910 --> 00:01:06,250
‫Nou, er zijn een paar opties.

16
00:01:06,250 --> 00:01:08,450
‫We hebben hier enkele operators voor.

17
00:01:08,470 --> 00:01:12,850
‫Een daarvan is de ampersand ampersand-operator, die we lezen als.

18
00:01:12,850 --> 00:01:17,650
‫En dit betekent in feite dat dit een combinatie van twee boolean zal zijn.

19
00:01:17,650 --> 00:01:19,780
‫Dus dat is alleen waar als ze allebei waar zijn.

20
00:01:20,410 --> 00:01:27,400
‫Dus als we waar en waar hadden, dan is dat gelijk aan waar.

21
00:01:28,000 --> 00:01:32,890
‫Terwijl als een van deze twee onwaar is, dus als degene aan de rechterkant

22
00:01:32,890 --> 00:01:40,090
‫onwaar is, dan wordt de hele zaak onwaar, enz. Er is hier nog een andere optie, namelijk om deze

23
00:01:40,090 --> 00:01:43,930
‫dubbele staaf-operator zo te gebruiken en deze wordt gelezen als of.

24
00:01:44,200 --> 00:01:49,570
‫En in feite betekent dit dat als een van deze twee waar is, het resultaat waar zal zijn.

25
00:01:49,840 --> 00:01:52,480
‫En ook, als beide waar zijn, zal het resultaat waar zijn.

26
00:01:52,480 --> 00:01:57,260
‫Maar als beide onwaar zijn, zal het resultaat onwaar zijn.

27
00:01:57,490 --> 00:02:00,480
‫Dit zijn dus enkele van de veelvoorkomende uitdrukkingen die we gebruiken.

28
00:02:00,490 --> 00:02:08,800
‫Een ander ding dat we gebruiken is het uitroepteken, en het uitroepteken keert in feite elke booleaanse waarde om die we

29
00:02:08,800 --> 00:02:11,680
‫hebben en we lezen het als niet.

30
00:02:12,130 --> 00:02:18,790
‫Dus je kunt onwaar hebben, maar omdat ik er een knoop voor zet, wordt deze hele waarde, deze

31
00:02:18,790 --> 00:02:19,780
‫uitdrukking waar.

32
00:02:20,050 --> 00:02:25,810
‫En als ik het met false zou bestellen, nou, omdat er tenminste één waar is, dan zal

33
00:02:25,810 --> 00:02:27,380
‫het resultaat waar zijn.

34
00:02:28,390 --> 00:02:36,220
‫Dus wat we hier willen doen, is dat we in wezen willen zeggen dat als het een actor-tag heeft, dat

35
00:02:36,220 --> 00:02:39,910
‫de acceptabele act-tag is, maar die heeft deze niet.

36
00:02:40,270 --> 00:02:46,180
‫Dus in dit geval en het heeft de actor-tag niet gegrepen, dan is het acceptabel.

37
00:02:46,300 --> 00:02:47,920
‫Zoveel uitdaging voor jou.

38
00:02:47,920 --> 00:02:52,300
‫Hoe zou je die drie operatoren gebruiken die ik zojuist heb uitgelegd?

39
00:02:52,300 --> 00:02:57,210
‫Je hoeft ze niet allemaal te gebruiken, maar welke zou je gebruiken en hoe zou je deze if-statement

40
00:02:57,220 --> 00:02:57,760
‫opschrijven?

41
00:03:00,050 --> 00:03:00,350
‫Oké.

42
00:03:00,350 --> 00:03:03,170
‫Dus ik ga dit in booleaanse variabelen plaatsen om het superduidelijk te maken.

43
00:03:03,500 --> 00:03:14,360
‫Dus ik heb bool die een acceptabele tag heeft, zal gelijk zijn aan de acteur heeft een acceptabele tag.

44
00:03:14,540 --> 00:03:17,690
‫Oké, zo en een puntkomma aan het einde van de regel.

45
00:03:17,960 --> 00:03:27,530
‫Nu zal een andere bool zijn of het wordt gegrepen en we kunnen dit krijgen door te gaan acteur pijl acteur

46
00:03:28,070 --> 00:03:32,930
‫heeft tag en deze zaak zal gewoon zo worden gepakt.

47
00:03:32,990 --> 00:03:39,440
‫Dus we kunnen zeggen dat, of het nu gegrepen is of niet, in de als wat

48
00:03:39,440 --> 00:03:44,330
‫we willen zeggen een acceptabel label is en dus is het ampersand.

49
00:03:44,330 --> 00:03:51,680
‫Ampers en niet dat een uitroepteken zo wordt gegrepen.

50
00:03:51,980 --> 00:03:59,030
‫Dus dat leest redelijk goed als je de ampersand en het uitroepteken leest als en en niet zo

51
00:03:59,030 --> 00:04:05,600
‫als acceptabel een acceptabel label heeft en niet wordt gepakt, dan geven we deze acteur terug.

52
00:04:05,810 --> 00:04:08,000
‫Laten we het compileren en kijken of het werkt.

53
00:04:08,270 --> 00:04:14,870
‫Dus laten we doorgaan en goed spelen, een waterspuwer pakken en naar het triggergebied rennen.

54
00:04:15,140 --> 00:04:20,450
‫En zie je, ik zet de waterspuwer erin, maar er gebeurt niets omdat ik hem nog niet heb losgelaten.

55
00:04:20,630 --> 00:04:22,880
‫Dus wat als ik probeer hun uitrusting neer te knallen?

56
00:04:22,880 --> 00:04:23,780
‫Hier gaan ze.

57
00:04:23,830 --> 00:04:29,630
‫Zodra ik hem loslaat, activeert hij hem, grijpt de waterspuwer van me af en verdwijnt in de

58
00:04:29,630 --> 00:04:30,110
‫grond.

59
00:04:30,290 --> 00:04:38,240
‫Nu zijn er een paar plaatsen in een CP waar we if-statements moeten hebben waar we er maar één zouden

60
00:04:38,240 --> 00:04:43,460
‫kunnen hebben als we het einde zouden gebruiken of en niet de operators.

61
00:04:43,730 --> 00:04:48,920
‫Dus een van de trucs hier is dat wanneer je iets als dit doet waarbij we controleren

62
00:04:48,920 --> 00:04:55,270
‫of iets geen null-pointer is, de andere optie is dat je dit eenvoudigweg kunt verwijderen dat niet gelijk is aan null-pointer.

63
00:04:55,280 --> 00:05:04,160
‫En als je gewoon zegt of en dan een soort aanwijzer als de boolean invoert, dan wordt automatisch gecontroleerd

64
00:05:04,160 --> 00:05:06,590
‫of het geen nulaanwijzer is.

65
00:05:06,590 --> 00:05:13,760
‫Dus hier zegt het dat als de fysica-handgreep hier beschikbaar is, het zegt dat als de grijpercomponent beschikbaar is, we door

66
00:05:14,030 --> 00:05:16,310
‫kunnen gaan en het kunnen gebruiken.

67
00:05:16,490 --> 00:05:19,340
‫Dus laten we je uitdagen om je if-statements te combineren.

68
00:05:19,340 --> 00:05:22,280
‫Dus je gaat ze samenvoegen in technische componenten.

69
00:05:22,280 --> 00:05:28,130
‫Bedenk of je de ampersand, ampersand, de en de OR moet gebruiken of dat je een ontkenning

70
00:05:28,130 --> 00:05:35,150
‫of een knoop of een uitroepteken moet gebruiken en voeg ze dan ook samen in release en test je functionaliteit en

71
00:05:35,150 --> 00:05:37,490
‫kijk of het nog steeds werken.

72
00:05:37,820 --> 00:05:39,530
‫Pauzeer de video en probeer het.

73
00:05:42,810 --> 00:05:43,320
‫Oké.

74
00:05:43,320 --> 00:05:44,020
‫Welkom terug.

75
00:05:44,040 --> 00:05:49,950
‫Dus we gaan hier gebruik van maken, want wat we eigenlijk willen doen en loslaten, is

76
00:05:49,950 --> 00:05:57,510
‫dat we zeggen dat als we een geldige fysica-handgreep hebben en die fysica-handgreep een vastgegrepen onderdeel heeft, dan willen we

77
00:05:57,510 --> 00:06:00,200
‫het lichaam doen van deze if-verklaring.

78
00:06:00,210 --> 00:06:02,820
‫Dus het is vrij eenvoudig om het zo te schrijven.

79
00:06:03,090 --> 00:06:12,180
‫We kunnen zeggen dat als de fysica-handgreep en de fysica-handgreep een onderdeel worden, dan kunnen we het volgende doen.

80
00:06:12,180 --> 00:06:18,390
‫Dus dat stelt ons in staat om deze vroege return if-instructie te verwijderen en de code een beetje korter te maken.

81
00:06:18,960 --> 00:06:26,340
‫Nu, de adelaarsogen onder jullie kunnen zich zorgen maken dat, hé, we verwijzen naar deze fysica-handgreep

82
00:06:26,340 --> 00:06:32,100
‫in de if-verklaring om te evalueren of deze eindverklaring zou moeten werken.

83
00:06:32,790 --> 00:06:38,250
‫Nu is er een kenmerk van de en dat het eerst het ding aan de linkerkant zal evalueren.

84
00:06:38,670 --> 00:06:43,860
‫En als dat ding onwaar is, dan evalueert het niet eens het ding aan de rechterkant.

85
00:06:43,860 --> 00:06:44,760
‫Het hoeft niet.

86
00:06:44,760 --> 00:06:47,310
‫Het weet al dat het resultaat vals zal zijn.

87
00:06:47,670 --> 00:06:49,950
‫Het hoeft verder niets te evalueren.

88
00:06:50,250 --> 00:06:57,510
‫Dus dat betekent dat het veilig is om zoiets als dit te doen, waarbij het resultaat aan de rechterkant van een rekenmachine alleen veilig

89
00:06:57,510 --> 00:07:01,260
‫is om te doen als het resultaat aan de linkerkant waar is.

90
00:07:01,830 --> 00:07:03,180
‫En dit is best handig.

91
00:07:03,180 --> 00:07:09,000
‫En je ziet dat dit vrij veel wordt gebruikt als je aanwijzers gebruikt, je controleert eerst de aanwijzer en dan

92
00:07:09,000 --> 00:07:10,260
‫heb je een ampersand.

93
00:07:10,260 --> 00:07:13,830
‫Ampersand, en dan gebruik je de aanwijzer aan de rechterkant.

94
00:07:13,830 --> 00:07:18,450
‫Maar alsjeblieft, alsjeblieft, laat je alsjeblieft niet verleiden om deze twee in volgorde om te wisselen.

95
00:07:18,660 --> 00:07:22,680
‫Andersom werkt het niet en krijg je crashes.

96
00:07:23,040 --> 00:07:28,080
‫Dus laten we naar onze vinkcomponenten gaan waar we in wezen precies hetzelfde doen.

97
00:07:28,080 --> 00:07:30,480
‫We wilden controleren of we een gepakte componenten hebben.

98
00:07:30,840 --> 00:07:36,930
‫Dus wat we hier kunnen doen, is dat we natuurkunde kunnen hanteren en natuurkunde.

99
00:07:37,500 --> 00:07:38,910
‫Pijl pakte onderdeel.

100
00:07:38,910 --> 00:07:44,370
‫We hebben dat niet gelijk aan null pointer nodig om het netjes te houden en dan kunnen we doorgaan

101
00:07:44,370 --> 00:07:49,710
‫en de if-statement verwijderen met de return en gewoon de regels code laag houden, de leesbaarheid een beetje hoger

102
00:07:49,710 --> 00:07:50,190
‫houden.

103
00:07:50,460 --> 00:07:50,940
‫Goed spul.

104
00:07:50,940 --> 00:07:57,180
‫Dus in deze lezing hebben we gezien hoe we de end or en niet-operators in C++ kunnen gebruiken.

105
00:07:57,510 --> 00:07:58,740
‫Ik zie je in de volgende lezing.

