﻿1
00:00:04,450 --> 00:00:05,320
‫Xin chào và chào mừng.

2
00:00:05,320 --> 00:00:11,200
‫Trong bài giảng này, chúng ta sẽ học về các toán tử Boolean để chúng ta có

3
00:00:11,200 --> 00:00:18,760
‫thể đưa ra các câu lệnh phức tạp yêu cầu nhiều boolean phải đúng, chẳng hạn như chỉ chấp nhận một

4
00:00:18,760 --> 00:00:23,470
‫gargoyle nếu nó là thẻ đúng và nó cũng không được lấy.

5
00:00:23,470 --> 00:00:29,020
‫Vì vậy, khi tôi buông gargoyle ra, bạn có thể thấy rằng bức tường chỉ phản ứng lại ở điểm đó.

6
00:00:29,020 --> 00:00:31,030
‫Hãy đi sâu vào và xem cách này hoạt động như thế nào.

7
00:00:31,990 --> 00:00:40,660
‫Vì vậy, lý tưởng nhất là bây giờ chúng tôi muốn thành phần kích hoạt của chúng tôi bỏ qua hoặc không tiếp nhận một tác nhân có thể chấp nhận được

8
00:00:40,660 --> 00:00:42,040
‫hiện đang bị chộp lấy.

9
00:00:42,040 --> 00:00:48,820
‫Vì vậy, để thay đổi điều này, tôi sẽ đi sâu vào việc triển khai tác nhân được chấp nhận của chúng tôi trong CP thành phần kích hoạt và bạn

10
00:00:48,850 --> 00:00:54,880
‫có thể thấy trong tuyên bố if của chúng tôi, chúng tôi hiện đang nói rằng hãy chọn một diễn viên nếu nó có thẻ được chấp nhận

11
00:00:54,880 --> 00:00:57,550
‫và đó là điều duy nhất điều chúng tôi đang làm.

12
00:00:57,700 --> 00:01:01,750
‫Nhưng những gì tôi muốn làm là làm cho điều này có điều kiện với hai điều.

13
00:01:01,750 --> 00:01:04,960
‫Làm cách nào để kết hợp hai giá trị Boolean?

14
00:01:04,960 --> 00:01:06,280
‫Chà, có một vài lựa chọn.

15
00:01:06,280 --> 00:01:08,500
‫Chúng tôi có một số nhà khai thác cho việc này.

16
00:01:08,500 --> 00:01:12,940
‫Một trong số đó là toán tử ký hiệu và ký hiệu và mà chúng ta đọc là.

17
00:01:12,940 --> 00:01:19,450
‫Và về cơ bản điều này có nghĩa là điều này sẽ được kết hợp hai boolean để nó chỉ đúng nếu cả hai

18
00:01:19,450 --> 00:01:20,020
‫đều đúng.

19
00:01:20,350 --> 00:01:27,700
‫Vì vậy, nếu chúng ta có đúng và đúng, thì điều đó sẽ bằng với đúng.

20
00:01:27,880 --> 00:01:32,950
‫Trong khi nếu một trong hai điều này là sai, vậy nếu điều ở bên

21
00:01:32,950 --> 00:01:40,150
‫phải là sai, thì toàn bộ sẽ là sai, v.v. Có một tùy chọn khác ở đây, đó là sử dụng

22
00:01:40,150 --> 00:01:44,170
‫toán tử thanh kép này như vậy và cái này được đọc là hoặc.

23
00:01:44,170 --> 00:01:49,780
‫Và về cơ bản điều này có nghĩa là nếu một trong hai điều này là đúng, thì kết quả sẽ là đúng.

24
00:01:49,780 --> 00:01:52,510
‫Và nếu cả hai đều đúng thì kết quả sẽ đúng.

25
00:01:52,510 --> 00:01:57,430
‫Nhưng nếu cả hai đều sai, thì kết quả sẽ là sai.

26
00:01:57,430 --> 00:02:00,520
‫Vì vậy, đây là một số biểu thức phổ biến mà chúng tôi sử dụng.

27
00:02:00,520 --> 00:02:08,830
‫Một thứ khác mà chúng tôi sử dụng là dấu chấm than, và dấu chấm than về cơ bản đảo ngược bất kỳ giá trị boolean nào mà

28
00:02:08,830 --> 00:02:11,980
‫chúng tôi có và chúng tôi đọc nó như không.

29
00:02:11,980 --> 00:02:18,850
‫Vì vậy, bạn có thể có false, nhưng bởi vì tôi đã đặt một nút thắt trước nó, toàn bộ giá trị này, biểu thức

30
00:02:18,850 --> 00:02:19,990
‫này trở thành true.

31
00:02:19,990 --> 00:02:25,870
‫Và nếu tôi sắp xếp nó với false, thì tốt thôi, vì ít nhất một trong số chúng là true,

32
00:02:25,870 --> 00:02:27,700
‫thì kết quả sẽ là true.

33
00:02:28,300 --> 00:02:36,310
‫Vì vậy, những gì chúng tôi muốn làm ở đây về cơ bản là chúng tôi muốn nói rằng nếu nó có thẻ diễn viên,

34
00:02:36,310 --> 00:02:40,210
‫đó là thẻ hành động được chấp nhận, nhưng nó không có.

35
00:02:40,210 --> 00:02:46,300
‫Vì vậy, trong trường hợp này và nó không có thẻ diễn viên được lấy thì có thể chấp nhận được.

36
00:02:46,300 --> 00:02:47,980
‫Rất nhiều thách thức cho bạn.

37
00:02:47,980 --> 00:02:52,300
‫Bạn sẽ sử dụng ba toán tử mà tôi vừa giải thích như thế nào?

38
00:02:52,300 --> 00:02:57,280
‫Bạn không nhất thiết phải sử dụng tất cả chúng, nhưng bạn sẽ sử dụng cái nào và bạn viết câu lệnh if này

39
00:02:57,280 --> 00:02:58,060
‫như thế nào?

40
00:03:00,110 --> 00:03:00,350
‫Được chứ.

41
00:03:00,380 --> 00:03:03,380
‫Vì vậy, tôi sẽ đặt điều này vào các biến Boolean để làm cho nó siêu rõ ràng.

42
00:03:03,380 --> 00:03:15,800
‫Vì vậy, bạn đã có bool có thẻ chấp nhận được sẽ bằng với diễn viên có thẻ thẻ được chấp nhận như vậy và đặt dấu chấm

43
00:03:15,800 --> 00:03:17,870
‫phẩy ở cuối dòng.

44
00:03:17,870 --> 00:03:27,770
‫Bây giờ một bool khác sẽ là liệu nó có bị tóm hay không và chúng ta có thể lấy được điều này bằng cách đi diễn viên mũi

45
00:03:27,950 --> 00:03:35,240
‫tên có thẻ và trường hợp này nó sẽ bị tóm như vậy để chúng ta có thể nói rằng liệu

46
00:03:35,240 --> 00:03:44,420
‫nó có bị tóm hay không trên cơ sở nếu những gì chúng tôi muốn nói là có thẻ được chấp nhận và vì vậy đó

47
00:03:44,420 --> 00:03:54,560
‫là ký hiệu và ký hiệu và không phải đó là dấu chấm than được nắm bắt như vậy để đọc khá tốt nếu bạn đọc rõ ký hiệu và

48
00:03:54,560 --> 00:04:02,690
‫dấu chấm than và và không như vậy nếu chấp nhận được thì có thẻ chấp nhận được và không bị tóm, sau

49
00:04:02,690 --> 00:04:05,770
‫đó chúng tôi trả lại diễn viên này.

50
00:04:05,780 --> 00:04:08,240
‫Hãy biên dịch nó và xem nó có hoạt động không.

51
00:04:08,240 --> 00:04:10,130
‫Vì vậy, hãy tiếp tục và chơi.

52
00:04:10,160 --> 00:04:15,140
‫Chúng tôi sẽ lấy gargoyle của chúng tôi và chạy đến khu vực kích hoạt.

53
00:04:15,230 --> 00:04:20,600
‫Và bạn thấy đấy, tôi đang đặt gargoyle vào, nhưng không có gì xảy ra vì tôi vẫn chưa phát hành nó.

54
00:04:20,600 --> 00:04:23,420
‫Vì vậy, điều gì sẽ xảy ra nếu tôi thử và bật gargoyle xuống đây?

55
00:04:23,450 --> 00:04:23,840
‫Của bạn đây.

56
00:04:23,840 --> 00:04:29,660
‫Ngay sau khi tôi thả nó ra, nó sẽ kích hoạt nó, lấy gargoyle ra khỏi tôi và nó biến mất trong

57
00:04:29,660 --> 00:04:30,270
‫lòng đất.

58
00:04:30,290 --> 00:04:38,000
‫Bây giờ, có một số vị trí trong Grab a CP, nơi chúng tôi có hai câu lệnh if mà chúng tôi có

59
00:04:38,000 --> 00:04:43,670
‫thể có một câu lệnh nếu chúng tôi sử dụng và hoặc và không hoạt động.

60
00:04:43,670 --> 00:04:48,980
‫Vì vậy, một trong những mẹo ở đây là khi bạn đang làm điều gì đó như thế này trong đó chúng tôi đang kiểm

61
00:04:48,980 --> 00:04:55,280
‫tra xem thứ gì đó có phải là con trỏ null hay không, tùy chọn khác là bạn có thể chỉ cần loại bỏ điều này không bằng con trỏ null.

62
00:04:55,280 --> 00:05:04,220
‫Và nếu bạn chỉ đơn giản nói if và sau đó đặt một số loại con trỏ làm boolean, thì điều đó sẽ tự động kiểm tra xem nó có

63
00:05:04,220 --> 00:05:06,620
‫phải là con trỏ null hay không.

64
00:05:06,620 --> 00:05:13,970
‫Vì vậy, ở đây nó nói nếu tay cầm vật lý có sẵn ở đây, nó nói nếu thành phần lấy có sẵn, thì chúng ta

65
00:05:13,970 --> 00:05:16,460
‫có thể tiếp tục và sử dụng nó.

66
00:05:16,460 --> 00:05:19,400
‫Vì vậy, tôi muốn thử thách bạn kết hợp các câu lệnh if của bạn.

67
00:05:19,400 --> 00:05:22,340
‫Vì vậy, bạn sẽ nối chúng lại với nhau trong các thành phần đánh dấu.

68
00:05:22,340 --> 00:05:28,190
‫Hãy nghĩ xem liệu bạn có cần sử dụng dấu "và", dấu "và" hay không hoặc liệu bạn có cần sử dụng

69
00:05:28,190 --> 00:05:35,240
‫phủ định hoặc nút thắt hoặc dấu chấm than và sau đó kết hợp chúng lại với nhau trong bản phát hành cũng như kiểm tra chức năng

70
00:05:35,240 --> 00:05:37,710
‫của bạn và xem nó có còn không làm.

71
00:05:37,730 --> 00:05:39,800
‫Tạm dừng video và tiếp tục.

72
00:05:42,930 --> 00:05:43,380
‫Được chứ.

73
00:05:43,380 --> 00:05:44,070
‫Chào mừng trở lại.

74
00:05:44,070 --> 00:05:50,040
‫Vì vậy, chúng tôi sẽ tận dụng điều này bởi vì về cơ bản những gì chúng tôi muốn làm khi phát hành là

75
00:05:50,040 --> 00:05:57,600
‫chúng tôi đang nói nếu chúng tôi có một tay cầm vật lý hợp lệ và tay cầm vật lý đó có một thành phần được nắm bắt, thì chúng

76
00:05:57,600 --> 00:06:00,240
‫tôi muốn làm phần thân của câu lệnh if này.

77
00:06:00,240 --> 00:06:03,000
‫Vì vậy, nó khá đơn giản để viết nó như vậy.

78
00:06:03,000 --> 00:06:12,240
‫Chúng ta có thể nói nếu tay cầm vật lý và tay cầm vật lý được nắm bắt thành phần, thì chúng ta có thể làm như sau.

79
00:06:12,240 --> 00:06:18,600
‫Vì vậy, điều đó cho phép chúng tôi loại bỏ câu lệnh if return sớm này và làm cho mã ngắn hơn một chút.

80
00:06:18,870 --> 00:06:26,400
‫Bây giờ, con mắt đại bàng trong số các bạn có thể lo lắng rằng, này, chúng tôi đang tham chiếu điều khiển vật lý này

81
00:06:26,400 --> 00:06:32,340
‫bên trong câu lệnh if để đánh giá xem câu lệnh này và câu lệnh có hoạt động hay không.

82
00:06:32,760 --> 00:06:38,550
‫Bây giờ có một tính năng của và nó sẽ đánh giá thứ ở bên trái đầu tiên.

83
00:06:38,550 --> 00:06:43,920
‫Và nếu điều đó là sai, thì nó thậm chí không đánh giá điều bên phải.

84
00:06:43,920 --> 00:06:44,820
‫Nó không cần.

85
00:06:44,850 --> 00:06:47,580
‫Nó đã biết rằng kết quả sẽ là sai.

86
00:06:47,580 --> 00:06:50,130
‫Nó không cần phải đánh giá thêm bất cứ điều gì.

87
00:06:50,130 --> 00:06:57,090
‫Vì vậy, điều đó có nghĩa là an toàn để làm điều gì đó như thế này trong đó kết quả ở bên phải để

88
00:06:57,090 --> 00:07:01,500
‫tính toán nó chỉ an toàn để làm nếu kết quả bên trái là đúng.

89
00:07:01,890 --> 00:07:06,810
‫Và đây là một thuộc tính khá tiện dụng và bạn sẽ thấy điều này được sử dụng khá nhiều khi bạn đang sử dụng con trỏ.

90
00:07:06,810 --> 00:07:10,320
‫Đầu tiên bạn sẽ kiểm tra con trỏ và sau đó bạn sẽ có một ký hiệu và.

91
00:07:10,320 --> 00:07:13,860
‫Ký hiệu và sau đó bạn sẽ sử dụng con trỏ ở phía bên tay phải.

92
00:07:13,860 --> 00:07:18,660
‫Nhưng làm ơn, làm ơn, xin đừng bị cám dỗ để hoán đổi hai thứ này theo thứ tự.

93
00:07:18,660 --> 00:07:22,950
‫Nó sẽ không hoạt động theo chiều ngược lại và bạn sẽ gặp sự cố.

94
00:07:22,950 --> 00:07:28,080
‫Vì vậy, chúng ta hãy đi đến thành phần đánh dấu của chúng tôi, nơi về cơ bản chúng tôi đang làm chính xác những điều tương tự.

95
00:07:28,080 --> 00:07:30,720
‫Chúng tôi muốn kiểm tra xem chúng tôi đã có một thành phần được nắm bắt hay chưa.

96
00:07:30,720 --> 00:07:37,200
‫Vì vậy, những gì chúng ta có thể làm ở đây là chúng ta có thể xử lý vật lý và xử lý vật lý.

97
00:07:37,470 --> 00:07:38,940
‫Mũi tên nắm lấy thành phần.

98
00:07:38,940 --> 00:07:44,430
‫Chúng ta không cần điều đó không bằng con trỏ null để giữ cho nó gọn gàng và sau đó chúng ta có thể

99
00:07:44,430 --> 00:07:49,770
‫tiếp tục loại bỏ câu lệnh if với trả về và chỉ giữ các dòng mã xuống, giữ độ dễ đọc cao hơn

100
00:07:49,770 --> 00:07:50,430
‫một chút.

101
00:07:50,460 --> 00:07:50,970
‫Công cụ tuyệt vời.

102
00:07:50,970 --> 00:07:57,480
‫Vì vậy, trong bài giảng này, chúng ta đã xem cách sử dụng toán tử và hoặc không trong C ++.

103
00:07:57,480 --> 00:07:58,980
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.

