﻿1
00:00:04,440 --> 00:00:05,430
‫Cześć i witaj.

2
00:00:05,430 --> 00:00:10,800
‫A w następnej kolejności przyjrzymy się, jak możemy zwrócić wartości z naszych funkcji przy

3
00:00:10,800 --> 00:00:13,590
‫użyciu różnych typów zwracanych i instrukcji return.

4
00:00:13,890 --> 00:00:15,960
‫Zanurzmy się i zobaczmy, jak to działa.

5
00:00:16,950 --> 00:00:24,120
‫Na ostatnim wykładzie powiedzieliśmy, że jeśli funkcja nie zwraca wartości, to typem zwracanym powinien być void,

6
00:00:24,210 --> 00:00:25,980
‫co tutaj zrobiliśmy.

7
00:00:25,980 --> 00:00:33,990
‫Ale co, gdybyśmy chcieli skorzystać z funkcji, takiej jak uzyskanie w zasadzie sprawdzenia, czy powinniśmy się odwrócić?

8
00:00:34,110 --> 00:00:39,000
‫Wiesz, ta funkcja w instrukcji if, gdybyśmy mogli powiedzieć, że powinna się

9
00:00:39,180 --> 00:00:42,540
‫odwrócić, byłaby znacznie czystszą funkcją na koniec dnia.

10
00:00:42,690 --> 00:00:44,490
‫Więc jak to robimy?

11
00:00:44,490 --> 00:00:49,320
‫Jak osiągnąć funkcję, która może zwrócić wyrażenie logiczne?

12
00:00:50,100 --> 00:00:55,800
‫Cóż, sposób, w jaki to robimy, to po prostu użycie typu zamiast void.

13
00:00:55,950 --> 00:01:03,480
‫Więc gdybyśmy mieli raz zwrócić wyrażenie logiczne, ponieważ wpisz bool tak, jak byśmy to zrobili dla zmiennej.

14
00:01:03,720 --> 00:01:08,100
‫Ale to, co odróżnia funkcję od zmiennej, to fakt, że umieszczamy po niej nawiasy, co

15
00:01:08,100 --> 00:01:10,230
‫czyni ją funkcją, a nie zmienną.

16
00:01:10,710 --> 00:01:18,480
‫A co możemy zrobić, to wywołać powrót platformy, a następnie umieścić nasze nawiasy.

17
00:01:18,480 --> 00:01:24,360
‫A w tym przypadku nie mam nic, co chciałbym przekazać jako argument do tej funkcji, więc mogę po

18
00:01:24,360 --> 00:01:29,550
‫prostu zostawić pustą listę parametrów, wstawić średnik na końcu wiersza, a następnie skopiować całą linię i

19
00:01:29,550 --> 00:01:31,560
‫przejść dalej do ruchomej platformy.

20
00:01:31,560 --> 00:01:36,600
‫CP I to na samym końcu pliku, możesz umieścić go w dowolnym miejscu pomiędzy dowolną z

21
00:01:36,600 --> 00:01:37,080
‫funkcji.

22
00:01:37,080 --> 00:01:39,450
‫Tylko upewnij się, że nie znajduje się w funkcji.

23
00:01:39,870 --> 00:01:41,070
‫Wkleję to tutaj.

24
00:01:41,130 --> 00:01:45,870
‫Zamierzam dodać wcięcie i dodać klasę i.

25
00:01:46,820 --> 00:01:48,320
‫Działa rozdzielczość zakresu.

26
00:01:48,320 --> 00:01:56,150
‫Tak więc okrężnica poruszająca się platforma powinna powrócić do platformy, a następnie usuń średnik, zamiast tego dodaj kilka nawiasów

27
00:01:56,150 --> 00:01:56,630
‫klamrowych.

28
00:01:57,590 --> 00:02:05,030
‫A to, co chcemy tutaj zrobić, to jeśli chcemy faktycznie zwrócić wynik, musimy użyć specjalnego

29
00:02:05,030 --> 00:02:10,040
‫słowa kluczowego return, po którym następuje wyrażenie właściwego typu.

30
00:02:10,040 --> 00:02:12,170
‫Więc w tym przypadku musi to być wyrażenie logiczne.

31
00:02:12,170 --> 00:02:18,380
‫Mogłem więc zwrócić prawdę, a następnie wstawić średnik na końcu, lub mógłbym zwrócić fałsz, a następnie wstawić średnik na

32
00:02:18,380 --> 00:02:18,860
‫końcu.

33
00:02:19,640 --> 00:02:21,290
‫Ale to nie musi być takie proste.

34
00:02:21,290 --> 00:02:23,720
‫Może to być właściwie dowolne wyrażenie.

35
00:02:23,720 --> 00:02:28,940
‫Może to być kolejne wywołanie funkcji, może to być zmienna, może to być użycie niektórych operatorów,

36
00:02:28,940 --> 00:02:31,550
‫tak jak mamy tutaj w naszym oświadczeniu.

37
00:02:32,120 --> 00:02:34,640
‫Więc w rzeczywistości chodźmy dalej i spróbujmy to zrobić.

38
00:02:34,820 --> 00:02:36,740
‫Przyjmę to wyrażenie.

39
00:02:36,740 --> 00:02:41,300
‫Przebyta odległość i jest większa niż odległość ruchu.

40
00:02:41,300 --> 00:02:49,940
‫Wytnę to i umieszczę jako wyrażenie zwracające dla tej funkcji powrotu platformy.

41
00:02:50,600 --> 00:02:56,750
‫Inez będzie tutaj narzekać, ponieważ przesunięcie na odległość nie jest zmienną lokalną w naszej funkcji

42
00:02:56,750 --> 00:02:57,980
‫powrotu platformy powinno.

43
00:02:58,610 --> 00:03:00,230
‫Więc zamierzamy przenieść więcej rzeczy.

44
00:03:00,230 --> 00:03:07,460
‫Ale zanim to zrobimy, nie chcę zapomnieć o wywołaniu tego polecenia powinno platforma powrócić w instrukcji if,

45
00:03:07,460 --> 00:03:14,270
‫więc platforma powinna powrócić, a następnie umieścić nawiasy, aby funkcja faktycznie została wywołana w naszym

46
00:03:14,270 --> 00:03:14,840
‫oświadczeniu.

47
00:03:14,850 --> 00:03:17,090
‫Więc teraz zaczyna mi się trochę lepiej czytać.

48
00:03:17,090 --> 00:03:21,140
‫Jeśli platforma powinna powrócić, wykonujemy wszystkie poniższe czynności.

49
00:03:22,250 --> 00:03:29,570
‫Więc teraz musimy przenieść zmienną przesuniętą na odległość, którą mamy w platformie MOVE.

50
00:03:29,570 --> 00:03:31,320
‫W rzeczywistości nie potrzebujemy tego w platformie MOVE.

51
00:03:31,320 --> 00:03:35,960
‫Wytnę go, przyniosę i umieszczę na linii przed naszym oświadczeniem zwrotnym.

52
00:03:35,960 --> 00:03:43,460
‫Zwykle instrukcja return jest ostatnią rzeczą w funkcji, ponieważ po powrocie z funkcji nie robisz

53
00:03:43,940 --> 00:03:45,530
‫już nic więcej.

54
00:03:45,530 --> 00:03:53,930
‫Jeśli miałbym umieścić coś w rodzaju komunikatu dziennika, umieszczę log po mojej deklaracji powrotu z jakimś

55
00:03:53,930 --> 00:03:54,800
‫komunikatem.

56
00:03:55,430 --> 00:04:01,730
‫Zwykle to, co się wydarzy, to ostrzeżenie od kompilatora, że ta linia nigdy nie zostanie

57
00:04:01,730 --> 00:04:05,270
‫osiągnięta i że prawdopodobnie nie chciałeś tego zrobić.

58
00:04:05,840 --> 00:04:08,690
‫Tak więc oświadczenie zwrotne jest zwykle ostatnią rzeczą.

59
00:04:09,590 --> 00:04:16,640
‫Więc po przejściu przez linię, która definiuje odległość przebytą w naszej funkcji powrotu platformy powinno, widzisz, że

60
00:04:16,850 --> 00:04:22,490
‫teraz mówi: hej, nie mam bieżącej lokalizacji, a obecną lokalizację możemy po prostu

61
00:04:22,490 --> 00:04:28,070
‫bardzo łatwo pobrać, mamy ustaw bieżącą lokalizację tuż przed wywołaniem, jeśli platforma

62
00:04:28,070 --> 00:04:28,550
‫powróci.

63
00:04:28,550 --> 00:04:32,270
‫Tak więc uzyskanie aktywnej lokalizacji jest dokładnie tym, czego chcemy.

64
00:04:32,270 --> 00:04:38,690
‫Więc po prostu wstawię to zamiast zmiennej, po prostu zadzwonię, aby dostać się do lokalizacji

65
00:04:39,290 --> 00:04:42,170
‫w miejscu i powinna powrócić platforma.

66
00:04:42,170 --> 00:04:48,200
‫Więc teraz mamy to, że przesunięta odległość jest równa efektowi, odległość między początkową lokalizacją

67
00:04:48,200 --> 00:04:50,240
‫a bieżącą lokalizacją aktora.

68
00:04:50,870 --> 00:04:55,760
‫Więc jeśli jest to większa niż skonfigurowana odległość ruchu, to tak, platforma powinna powrócić.

69
00:04:56,090 --> 00:05:01,460
‫To właśnie mówi ta funkcja i pozwala nam używać jej na wyższym poziomie abstrakcji od

70
00:05:01,460 --> 00:05:03,620
‫wewnątrz i przesuwać funkcję platformy.

71
00:05:04,280 --> 00:05:09,560
‫Teraz zauważysz, że teraz skarży się, że nie możemy przesunąć odległości do przekroczenia liczby wydruków.

72
00:05:09,560 --> 00:05:10,730
‫Cóż, to nic wielkiego.

73
00:05:11,060 --> 00:05:13,730
‫Właściwie nie chcę już tego drukować.

74
00:05:13,730 --> 00:05:15,440
‫I tak trochę psuje moją funkcję.

75
00:05:15,440 --> 00:05:18,170
‫Więc zamierzam usunąć linię zmiennej przeregulowania.

76
00:05:18,170 --> 00:05:23,330
‫Zamierzam usunąć wiersz get name, usunę komunikat dziennika, ponieważ był tam

77
00:05:23,330 --> 00:05:26,660
‫tylko tymczasowo, stąd nazwa tymczasowego dziennika.

78
00:05:27,350 --> 00:05:28,040
‫Więc teraz ruszam.

79
00:05:28,070 --> 00:05:32,150
‫Funkcja platformy zaczyna wyglądać znacznie czyściej.

80
00:05:32,150 --> 00:05:35,360
‫Widzimy, że robimy tutaj aktualizację lokalizacji.

81
00:05:35,480 --> 00:05:38,390
‫Możemy zobaczyć, czy platforma powinna wrócić i czy powinna.

82
00:05:38,390 --> 00:05:41,570
‫Następnie aktualizujemy lokalizację i obracamy ją.

83
00:05:41,690 --> 00:05:48,440
‫Teraz jedna rzecz, która moim zdaniem wyglądałaby tutaj trochę lepiej, to gdybyśmy mieli instrukcję alt zamiast

84
00:05:48,770 --> 00:05:51,200
‫tego pakietu kodu na górze.

85
00:05:51,200 --> 00:05:58,130
‫Więc jeśli platforma powinna powrócić, wykonamy to, w przeciwnym razie wykonamy normalny kod w zakresie przesuwania go

86
00:05:58,130 --> 00:05:59,360
‫do przodu.

87
00:05:59,630 --> 00:06:05,660
‫Więc pamiętaj, że cofnęliśmy się do tego, kiedy rozmawialiśmy o instrukcji alt, po prostu pojawia się ona po stwierdzeniu if i po

88
00:06:05,660 --> 00:06:07,550
‫prostu robimy to w ten sposób.

89
00:06:07,550 --> 00:06:12,770
‫Po nawiasach klamrowych mamy nową linię i wpisujemy else, potem kolejną nową linię i otwieramy kilka nowych nawiasów i

90
00:06:12,770 --> 00:06:16,820
‫możemy po prostu przenieść ten kod, który jest tutaj, na górze naszego znacznika.

91
00:06:17,240 --> 00:06:20,450
‫Możemy to wziąć i przenieść w dół do instrukcji alt.

92
00:06:20,450 --> 00:06:22,790
‫Więc teraz wydaje się to całkiem proste.

93
00:06:22,790 --> 00:06:26,660
‫Czy platforma powinna powrócić, a następnie wykonać kod, który zwraca platformę w innym przypadku?

94
00:06:26,990 --> 00:06:30,740
‫Posuwamy platformę do przodu z naszą prędkością platformy.

95
00:06:30,740 --> 00:06:34,970
‫Teraz chciałbym zachęcić Cię do stworzenia własnej funkcji ze zwracaną wartością.

96
00:06:34,970 --> 00:06:38,030
‫Chciałbym, abyś dodał funkcję przenieś odległość.

97
00:06:38,030 --> 00:06:41,690
‫Więc obecnie obliczyliśmy to w zmiennej zwanej przebytą odległością.

98
00:06:42,080 --> 00:06:45,620
‫Chciałbym, abyś zamiast tego zastąpił to wywołaniem funkcji.

99
00:06:46,250 --> 00:06:53,570
‫Powinna więc zwrócić wartość zmiennoprzecinkową, ponieważ w ten sposób przesunął się rodzaj odległości, powinniśmy ją wywołać, gdy platforma

100
00:06:53,570 --> 00:06:54,350
‫powróci.

101
00:06:54,360 --> 00:06:58,970
‫Więc zamiast korzystać z efektów tego, powinniśmy skorzystać z własnej implementacji.

102
00:06:58,970 --> 00:07:00,230
‫Więc jaki kod powinniśmy?

103
00:07:01,220 --> 00:07:04,040
‫Czy powinien zawierać z jakim trenerem do niego włożymy?

104
00:07:04,220 --> 00:07:08,900
‫Podpowiedź jest taka, że już wpisaliśmy ten kod, więc po prostu kopiujesz i wklejasz go do nowej

105
00:07:08,900 --> 00:07:09,470
‫funkcji.

106
00:07:09,770 --> 00:07:14,810
‫Ale zastanów się, jakie powinno być wyrażenie zwracające, tak aby zwracana

107
00:07:14,960 --> 00:07:17,150
‫była wartość przesuniętej odległości.

108
00:07:17,510 --> 00:07:18,950
‫Wstrzymaj wideo i spróbuj.

109
00:07:22,620 --> 00:07:22,920
‫Dobra.

110
00:07:22,920 --> 00:07:23,580
‫Witamy spowrotem.

111
00:07:24,210 --> 00:07:26,090
‫Przejdźmy więc do sekcji Z wyprzedzeniem.

112
00:07:26,100 --> 00:07:33,150
‫Dodamy tutaj nową funkcję dla wartości zwracanej lotu o nazwie pobierz przesuniętą odległość.

113
00:07:33,330 --> 00:07:38,460
‫A potem nie będziemy mieć żadnych argumentów w nawiasach, a potem przejdziemy do naszej ruchomej

114
00:07:38,460 --> 00:07:39,090
‫platformy.

115
00:07:39,090 --> 00:07:51,570
‫CP Dodamy pływak, ruchomą platformę, dwukropek, przesuniętą odległość okrężnicy lub przesuniemy odległość, powinienem

116
00:07:51,570 --> 00:07:53,520
‫powiedzieć nawiasy.

117
00:07:53,520 --> 00:07:57,810
‫A potem w następnym wierszu umieścimy nowy zestaw nawiasów klamrowych.

118
00:07:58,470 --> 00:08:04,230
‫A to, co chcemy zwrócić, to dosłownie wyrażenie, którego używamy do stworzenia naszego ruchu na

119
00:08:04,230 --> 00:08:07,890
‫odległość, więc mogę to wyciąć i wkleić tutaj.

120
00:08:07,890 --> 00:08:14,310
‫Więc to wpływa na dwukropek, dwukropek, test, lokalizację początkową, uzyskaj aktywną lokalizację i umieść średnik na końcu tej

121
00:08:14,310 --> 00:08:15,000
‫linii.

122
00:08:15,510 --> 00:08:17,550
‫A to oznacza, że platforma powinna powrócić.

123
00:08:17,550 --> 00:08:22,320
‫Teraz zamiast mieć tę zmienną przesunięcia odległości, usunę tę linię, która jest w połowie ukończona.

124
00:08:23,010 --> 00:08:27,300
‫Wrócimy po przesunięciu dystansu.

125
00:08:28,050 --> 00:08:31,920
‫Nawiasy są większe niż odległość ruchu.

126
00:08:31,920 --> 00:08:39,600
‫Więc wzięliśmy to, co wchodziło w skład zmiennej, i zamiast tego wyciągnęliśmy to do własnej funkcji.

127
00:08:39,600 --> 00:08:45,120
‫A to oznacza, że ilekroć chcemy odwołać się do przebytej odległości, jeśli chcielibyśmy zachować

128
00:08:45,120 --> 00:08:51,930
‫ten komunikat dziennika na platformie MOVE, możemy łatwo po prostu wywołać funkcję, uzyskać odległość przesuniętą od dowolnej

129
00:08:51,930 --> 00:08:53,700
‫funkcji w naszej klasie.

130
00:08:53,880 --> 00:08:54,390
‫Świetna sprawa.

131
00:08:54,390 --> 00:09:00,840
‫Tak więc na tym wykładzie nauczyliśmy się o instrukcjach return i wartościach zwracanych i użyliśmy ich do stworzenia

132
00:09:00,840 --> 00:09:03,030
‫dwóch nowych funkcji w klasie.

133
00:09:03,060 --> 00:09:04,350
‫Do zobaczenia na następnym wykładzie.

