﻿1
00:00:04,440 --> 00:00:05,490
‫Xin chào và chào mừng.

2
00:00:05,490 --> 00:00:10,860
‫Trong bài giảng này, chúng ta sẽ xem xét cách chúng ta có thể trả về các giá trị từ các hàm của mình bằng cách

3
00:00:10,860 --> 00:00:13,800
‫sử dụng các kiểu trả về khác nhau và một câu lệnh trả về.

4
00:00:13,800 --> 00:00:16,260
‫Hãy đi sâu vào và xem cách này hoạt động như thế nào.

5
00:00:16,860 --> 00:00:23,820
‫Vì vậy, bài giảng trước, chúng ta đã nói rằng nếu hàm của chúng ta không trả về một giá trị, thì kiểu trả về sẽ là void, đó

6
00:00:23,820 --> 00:00:26,040
‫là những gì chúng ta đã làm ở đây.

7
00:00:26,040 --> 00:00:34,170
‫Nhưng điều gì sẽ xảy ra nếu chúng ta muốn sử dụng một hàm, chẳng hạn như kiểm tra cơ bản xem chúng ta có nên quay lại hàm này ở

8
00:00:34,500 --> 00:00:40,170
‫đây trong câu lệnh if hay không, nếu chúng ta có thể nói nên quay lại thay vào đó, nó sẽ

9
00:00:40,170 --> 00:00:42,690
‫là một hàm sạch hơn nhiều vào cuối ngày.

10
00:00:42,690 --> 00:00:44,520
‫Vì vậy, làm thế nào để chúng tôi làm điều đó?

11
00:00:44,520 --> 00:00:49,530
‫Làm cách nào để đạt được một hàm có thể trả về biểu thức Boolean?

12
00:00:50,040 --> 00:00:55,920
‫Chà, cách chúng tôi làm điều đó đơn giản là sử dụng một kiểu thay vì khoảng trống.

13
00:00:55,920 --> 00:01:03,660
‫Vì vậy, nếu chúng ta muốn trả về một biểu thức boolean bởi vì gõ bool giống như chúng ta sẽ làm cho một biến.

14
00:01:03,660 --> 00:01:08,130
‫Nhưng điều phân biệt hàm với biến là việc chúng ta đặt dấu ngoặc đơn sau nó để biến nó

15
00:01:08,130 --> 00:01:10,440
‫trở thành một hàm chứ không phải là một biến.

16
00:01:10,620 --> 00:01:18,510
‫Và những gì chúng tôi có thể làm là gọi nó nên nền tảng quay trở lại và sau đó chúng tôi đặt dấu ngoặc đơn.

17
00:01:18,510 --> 00:01:24,420
‫Và trong trường hợp này, tôi không có bất kỳ thứ gì mà tôi muốn chuyển vào làm đối số cho hàm này, vì vậy tôi chỉ

18
00:01:24,420 --> 00:01:29,250
‫có thể để trống danh sách tham số, đặt dấu chấm phẩy ở cuối dòng và sau đó sao chép toàn

19
00:01:29,250 --> 00:01:31,620
‫bộ dòng này và đi sang nền tảng di chuyển.

20
00:01:31,620 --> 00:01:37,140
‫CP Và ngay ở cuối tệp, bạn có thể đặt nó ở bất kỳ đâu mà bạn thực sự thích giữa bất kỳ chức năng nào.

21
00:01:37,140 --> 00:01:39,690
‫Chỉ cần đảm bảo rằng nó không nằm trong một hàm.

22
00:01:39,840 --> 00:01:41,160
‫Tôi sẽ dán nó vào đây.

23
00:01:41,160 --> 00:01:46,170
‫Tôi sẽ thụt lề nó và tôi sẽ thêm lớp và.

24
00:01:46,850 --> 00:01:48,380
‫Độ phân giải phạm vi hoạt động.

25
00:01:48,380 --> 00:01:56,210
‫Vì vậy, dấu hai chấm của nền tảng chuyển động nên nền tảng quay trở lại, sau đó xóa dấu chấm phẩy, thay vào đó thêm một số dấu

26
00:01:56,210 --> 00:01:56,900
‫ngoặc nhọn.

27
00:01:57,500 --> 00:02:04,160
‫Và những gì chúng ta muốn làm ở đây là nếu chúng ta muốn nó thực sự trả về một kết quả, chúng

28
00:02:04,160 --> 00:02:10,100
‫ta cần sử dụng một từ khóa trả về đặc biệt, theo sau là một biểu thức đúng loại.

29
00:02:10,100 --> 00:02:15,050
‫Vì vậy, trong trường hợp này, nó phải là một biểu thức boolean để tôi có thể trả về true và sau đó đặt dấu

30
00:02:15,050 --> 00:02:19,100
‫chấm phẩy ở cuối, hoặc tôi có thể trả về false và sau đó đặt dấu chấm phẩy ở cuối.

31
00:02:19,580 --> 00:02:21,380
‫Nhưng nó không phải đơn giản như vậy.

32
00:02:21,380 --> 00:02:23,750
‫Nó thực sự có thể là bất kỳ biểu hiện nào.

33
00:02:23,750 --> 00:02:29,000
‫Nó có thể là một lời gọi khác đến một hàm, nó có thể là một biến, nó có thể là cách sử dụng một số toán

34
00:02:29,000 --> 00:02:31,790
‫tử như chúng ta đã nêu ở đây bên trong câu lệnh của mình.

35
00:02:32,000 --> 00:02:34,820
‫Vì vậy, trên thực tế, chúng ta hãy tiếp tục và thử làm điều đó.

36
00:02:34,820 --> 00:02:36,800
‫Tôi sẽ lấy biểu hiện này.

37
00:02:36,800 --> 00:02:41,330
‫Quãng đường đi được và lớn hơn quãng đường mov.

38
00:02:41,330 --> 00:02:49,370
‫Tôi sẽ cắt nó ra và tôi sẽ đặt nó làm biểu thức trả về cho hàm trả về nền

39
00:02:49,370 --> 00:02:50,180
‫tảng này.

40
00:02:50,540 --> 00:02:56,210
‫Bạn nhận thấy nó sẽ phàn nàn ở đây vì di chuyển khoảng cách không phải là một biến cục bộ trong hàm

41
00:02:56,210 --> 00:02:58,220
‫trả về nền tảng nên của chúng tôi.

42
00:02:58,520 --> 00:03:00,290
‫Vì vậy, chúng tôi sẽ phải chuyển một số thứ nữa.

43
00:03:00,290 --> 00:03:06,830
‫Nhưng trước khi chúng ta làm điều đó, tôi không muốn quên đặt lệnh gọi này nếu platform trả về trong câu lệnh

44
00:03:06,830 --> 00:03:12,530
‫if, vì vậy platform trả về và sau đó nhớ đặt dấu ngoặc đơn để hàm thực sự được gọi

45
00:03:12,530 --> 00:03:14,900
‫bên trong câu lệnh F của chúng ta.

46
00:03:14,900 --> 00:03:17,180
‫Vì vậy, bây giờ nó bắt đầu đọc tốt hơn một chút đối với tôi.

47
00:03:17,180 --> 00:03:21,410
‫Nếu nền tảng sẽ quay trở lại, thì chúng tôi thực hiện tất cả những việc sau.

48
00:03:22,100 --> 00:03:29,600
‫Vì vậy, bây giờ những gì chúng ta cần làm là sử dụng biến khoảng cách di chuyển mà chúng ta có trong nền tảng MOVE.

49
00:03:29,600 --> 00:03:31,400
‫Chúng tôi thực sự không cần nó bên trong nền tảng MOVE.

50
00:03:31,400 --> 00:03:35,990
‫Tôi sẽ cắt nó ra và mang nó và đặt nó trên dây trước khi tôi trả lại tuyên bố.

51
00:03:35,990 --> 00:03:43,760
‫Thông thường câu lệnh return là điều cuối cùng trong một hàm vì một khi bạn đã trả về một hàm, bạn thực sự không làm

52
00:03:43,880 --> 00:03:45,590
‫bất cứ điều gì khác.

53
00:03:45,590 --> 00:03:53,720
‫Nếu tôi đặt một cái gì đó giống như một thông báo nhật ký, vì vậy tôi sẽ đặt một nhật ký cho bạn sau câu lệnh trả lại của tôi với

54
00:03:53,720 --> 00:03:55,010
‫một số loại thông báo.

55
00:03:55,430 --> 00:04:01,790
‫Thông thường những gì sắp xảy ra là bạn sẽ nhận được một cảnh báo từ trình biên dịch của mình nói rằng dòng này sẽ

56
00:04:01,790 --> 00:04:05,480
‫không bao giờ đạt được và có thể bạn không cố ý làm điều đó.

57
00:04:05,780 --> 00:04:08,930
‫Vì vậy, câu lệnh trả về thường là điều cuối cùng.

58
00:04:09,590 --> 00:04:16,820
‫Vì vậy, sau khi di chuyển qua đường xác định khoảng cách di chuyển đến nên chức năng trả về nền tảng, bạn có thể thấy nó hiện

59
00:04:16,820 --> 00:04:22,520
‫đang nói, này, tôi không có vị trí hiện tại và vị trí hiện tại chúng tôi có thể rất dễ dàng

60
00:04:22,520 --> 00:04:28,130
‫lấy, chúng tôi đã đặt vị trí hiện tại ngay trước khi chúng tôi đang gọi điện sẽ trở lại nền

61
00:04:28,130 --> 00:04:28,610
‫tảng.

62
00:04:28,610 --> 00:04:32,330
‫Vì vậy, thực sự có được vị trí hoạt động là chính xác những gì chúng tôi muốn.

63
00:04:32,330 --> 00:04:38,900
‫Vì vậy, tôi sẽ đặt nó thay vì một biến, tôi sẽ thực hiện một cuộc gọi để có được vị trí đang hoạt

64
00:04:39,230 --> 00:04:42,200
‫động tại chỗ và nền tảng sẽ quay trở lại.

65
00:04:42,200 --> 00:04:48,590
‫Vì vậy, bây giờ những gì chúng ta có là khoảng cách di chuyển bằng khoảng cách giữa vị trí bắt đầu và vị

66
00:04:48,590 --> 00:04:50,480
‫trí hiện tại đang hoạt động.

67
00:04:50,810 --> 00:04:56,000
‫Vì vậy, nếu đó lớn hơn khoảng cách di chuyển đã định cấu hình, thì có, nền tảng sẽ quay trở lại.

68
00:04:56,000 --> 00:05:01,520
‫Đó là những gì chức năng này nói và nó cho phép chúng tôi sử dụng nó ở mức độ trừu tượng cao hơn từ

69
00:05:01,520 --> 00:05:03,890
‫bên trong chức năng nền tảng MOVE của chúng tôi.

70
00:05:04,190 --> 00:05:09,590
‫Bây giờ bạn sẽ nhận thấy rằng nó đang phàn nàn rằng chúng tôi không thể di chuyển khoảng cách để in ra quá mức.

71
00:05:09,590 --> 00:05:10,970
‫Chà, đó không phải là vấn đề lớn.

72
00:05:11,000 --> 00:05:13,760
‫Tôi thực sự không muốn in nó nữa.

73
00:05:13,760 --> 00:05:15,470
‫Dù sao thì nó cũng làm rối loạn chức năng của tôi.

74
00:05:15,470 --> 00:05:18,200
‫Vì vậy, tôi sẽ xóa dòng biến quá mức.

75
00:05:18,200 --> 00:05:23,390
‫Tôi sẽ xóa dòng get name, tôi sẽ xóa thông báo nhật ký vì nó chỉ ở

76
00:05:23,390 --> 00:05:26,900
‫đó tạm thời, do đó tên tạm thời nhật ký.

77
00:05:27,290 --> 00:05:32,210
‫Vì vậy, bây giờ chức năng nền tảng di chuyển của chúng tôi đang bắt đầu trông gọn gàng hơn rất nhiều.

78
00:05:32,210 --> 00:05:35,480
‫Chúng tôi có thể thấy rằng chúng tôi đang thực hiện một số cập nhật về vị trí tại đây.

79
00:05:35,480 --> 00:05:38,480
‫Chúng tôi có thể xem liệu nền tảng có nên quay trở lại hay không và nếu nó nên.

80
00:05:38,480 --> 00:05:41,660
‫Sau đó, chúng tôi đang cập nhật vị trí và lật nó xung quanh.

81
00:05:41,660 --> 00:05:48,740
‫Bây giờ một điều mà tôi nghĩ sẽ tốt hơn một chút ở đây là nếu chúng ta có một câu lệnh alt thay vì

82
00:05:48,740 --> 00:05:51,230
‫có một loạt mã này ở trên cùng.

83
00:05:51,230 --> 00:05:58,190
‫Vì vậy, nếu nền tảng quay trở lại, chúng tôi sẽ thực thi điều này, nếu không, chúng tôi sẽ thực thi mã bình thường trong điều kiện

84
00:05:58,190 --> 00:05:59,570
‫chuyển nó về phía trước.

85
00:05:59,570 --> 00:06:03,860
‫Vì vậy, hãy nhớ rằng chúng tôi đã khiến tâm trí bạn quay trở lại thời điểm chúng tôi nói về câu lệnh alt.

86
00:06:03,890 --> 00:06:07,610
‫Nó chỉ xuất hiện sau câu lệnh if và chúng ta chỉ làm như thế này.

87
00:06:07,610 --> 00:06:12,800
‫Sau dấu ngoặc nhọn, chúng ta có một dòng mới và nhập dòng khác, sau đó là một dòng mới khác và mở một số dấu

88
00:06:12,800 --> 00:06:17,120
‫ngoặc đơn mới và chúng ta chỉ có thể di chuyển mã này lên đây ở đầu dấu của chúng ta.

89
00:06:17,120 --> 00:06:20,510
‫Chúng tôi có thể lấy nó và chuyển nó xuống trong câu lệnh alt.

90
00:06:20,510 --> 00:06:22,850
‫Vì vậy, bây giờ nó có vẻ khá đơn giản.

91
00:06:22,850 --> 00:06:26,900
‫Nền tảng có nên trả lại sau đó làm mã mà nền tảng trả về khác không?

92
00:06:26,900 --> 00:06:30,740
‫Chúng tôi đang di chuyển nền tảng về phía trước với tốc độ nền tảng của chúng tôi.

93
00:06:30,740 --> 00:06:35,030
‫Bây giờ tôi muốn thách thức bạn tạo một hàm của riêng bạn với một giá trị trả về.

94
00:06:35,030 --> 00:06:38,060
‫Tôi muốn bạn thêm một chức năng di chuyển khoảng cách.

95
00:06:38,060 --> 00:06:41,990
‫Vì vậy, chúng tôi hiện đã tính toán điều này thành một biến được gọi là khoảng cách di chuyển.

96
00:06:42,020 --> 00:06:45,860
‫Tôi muốn bạn thay thế nó bằng một cuộc gọi đến một hàm.

97
00:06:46,310 --> 00:06:53,630
‫Vì vậy, nó sẽ trả về một float vì đó là cách loại khoảng cách đã di chuyển, chúng ta nên gọi nó trong nên trả về

98
00:06:53,630 --> 00:06:54,410
‫nền tảng.

99
00:06:54,410 --> 00:06:59,000
‫Vì vậy, thay vì sử dụng vector dist, chúng ta nên sử dụng triển khai của riêng mình.

100
00:06:59,000 --> 00:07:02,000
‫Vì vậy, những gì mã chúng ta nên chứa nó?

101
00:07:02,000 --> 00:07:04,190
‫Chúng ta nên đặt mã nào vào nó?

102
00:07:04,220 --> 00:07:08,960
‫Gợi ý là chúng tôi đã nhập mã này, vì vậy bạn chỉ cần sao chép và dán nó vào

103
00:07:08,960 --> 00:07:09,680
‫hàm mới.

104
00:07:09,680 --> 00:07:14,960
‫Nhưng hãy suy nghĩ một chút về biểu thức trả về phải là gì, sao cho những gì chúng ta đang trả

105
00:07:14,960 --> 00:07:17,390
‫về là giá trị đã di chuyển theo khoảng cách.

106
00:07:17,420 --> 00:07:19,220
‫Tạm dừng video và tiếp tục.

107
00:07:22,950 --> 00:07:23,850
‫Chào mừng trở lại.

108
00:07:24,150 --> 00:07:26,150
‫Vì vậy, chúng ta hãy xem xét phần đầu của tệp của chúng tôi.

109
00:07:26,160 --> 00:07:33,330
‫Chúng tôi sẽ thêm một hàm mới ở đây với một giá trị trả về float được gọi là get distance move.

110
00:07:33,330 --> 00:07:36,240
‫Và sau đó chúng ta sẽ không có đối số trong ngoặc đơn.

111
00:07:36,420 --> 00:07:39,150
‫Và sau đó chúng ta sẽ chuyển sang nền tảng di chuyển của mình.

112
00:07:39,150 --> 00:07:51,600
‫CP Chúng ta sẽ thêm vào một float, một nền tảng di chuyển, dấu hai chấm, dấu hai chấm được di chuyển hoặc di chuyển khoảng cách, tôi nên

113
00:07:51,600 --> 00:07:53,550
‫nói dấu ngoặc đơn.

114
00:07:53,550 --> 00:07:58,020
‫Và sau đó chúng ta sẽ đặt một bộ niềng răng mới ở dòng tiếp theo.

115
00:07:58,410 --> 00:08:04,320
‫Và những gì chúng tôi muốn trả về thực sự chỉ là biểu thức chúng tôi đang sử dụng để tạo phao di chuyển

116
00:08:04,320 --> 00:08:07,950
‫khoảng cách để tôi có thể cắt nó ra và dán nó vào đây.

117
00:08:07,950 --> 00:08:14,280
‫Vì vậy, nó là vector f, dấu hai chấm, dấu hai chấm, dist, vị trí bắt đầu, lấy vị trí hoạt động và đặt dấu chấm phẩy

118
00:08:14,280 --> 00:08:15,240
‫ở cuối dòng đó.

119
00:08:15,390 --> 00:08:17,610
‫Và điều đó có nghĩa là nền tảng sẽ trở lại.

120
00:08:17,610 --> 00:08:22,560
‫Bây giờ thay vì có biến khoảng cách di chuyển này, tôi sẽ xóa dòng đã hoàn thành một nửa đó.

121
00:08:22,950 --> 00:08:27,630
‫Chúng ta sẽ quay trở lại để di chuyển khoảng cách.

122
00:08:28,080 --> 00:08:31,890
‫Dấu ngoặc lớn hơn quãng đường di chuyển.

123
00:08:31,890 --> 00:08:39,660
‫Vì vậy, chúng tôi đã đưa những gì sẽ xảy ra vào một biến và thay vào đó kéo nó ra thành chức năng của chính nó.

124
00:08:39,660 --> 00:08:45,180
‫Và điều này có nghĩa là bất cứ khi nào chúng ta muốn tham chiếu đến khoảng cách đã di chuyển, nếu chúng ta

125
00:08:45,180 --> 00:08:51,990
‫muốn giữ thông báo nhật ký đó trong nền tảng MOVE, thì chúng ta có thể dễ dàng chỉ cần gọi hàm, lấy khoảng cách di chuyển từ bất kỳ

126
00:08:51,990 --> 00:08:53,880
‫hàm nào trong lớp của chúng ta.

127
00:08:53,880 --> 00:08:54,450
‫Công cụ tuyệt vời.

128
00:08:54,450 --> 00:09:00,570
‫Vì vậy, trong bài giảng này, chúng ta đã học về các câu lệnh trả về và giá trị trả về, đồng thời chúng ta đã sử

129
00:09:00,570 --> 00:09:03,120
‫dụng chúng để tạo hai hàm mới trong lớp của mình.

130
00:09:03,120 --> 00:09:04,590
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.

