﻿1
00:00:04,330 --> 00:00:05,110
‫Merhaba ve hoş geldiniz.

2
00:00:05,110 --> 00:00:11,350
‫Bu derste tetikleyici bileşenimizin boş bir alan olduğunda yeniden kilitlenmesini sağlayacağız

3
00:00:11,380 --> 00:00:15,010
‫ve gargoyle'u yerleştirdiğimizde kilidi açacak.

4
00:00:15,010 --> 00:00:17,830
‫Ve eğer tekrar çıkarırsam, tekrar kilitlenecek.

5
00:00:17,830 --> 00:00:23,170
‫Bunu yapmanın yolu, kabul edilebilir bir aktörümüz olup olmadığını bulma

6
00:00:23,170 --> 00:00:26,320
‫işlevimizi kendi ayrı işlevine çekmektir.

7
00:00:26,320 --> 00:00:29,320
‫Ve dört döngü içinde erken dönüşler hakkında bilgi edineceğiz.

8
00:00:29,320 --> 00:00:31,120
‫Bunu yapmak için, hadi içeri dalalım.

9
00:00:31,920 --> 00:00:36,900
‫Dolayısıyla, teknoloji bileşeninde sahip olduğumuz bu kod yığını bana şimdiden bir fonksiyon gibi gelmeye başladı.

10
00:00:36,900 --> 00:00:43,620
‫Esasen, eğer varsa, kabul edilebilir aktörü ele geçiren bir işlevdir, böylece tetikleyici bileşenimize

11
00:00:43,620 --> 00:00:45,420
‫geçebiliriz.

12
00:00:46,230 --> 00:00:49,680
‫Ve özel bölüm altında böyle bir işlev oluşturun.

13
00:00:49,680 --> 00:00:51,850
‫Şimdi, dönüş türü ne olmalıdır?

14
00:00:51,870 --> 00:00:59,690
‫Bence bu bir A aktör işaretçisi olmalı, eğer kabul edilebilir bir aktör yoksa her zaman null işaretçi olabilir.

15
00:00:59,700 --> 00:01:05,190
‫Böylece bu get acceptable actor boş parantezini çağırabiliriz.

16
00:01:05,190 --> 00:01:06,510
‫Ona bir şey vermemize gerek yok.

17
00:01:06,510 --> 00:01:12,420
‫Ve işlevimizi değiştirmediği için onu const yapabiliriz.

18
00:01:12,450 --> 00:01:16,350
‫Devam edelim ve bunu CPP dosyasında uygulayalım.

19
00:01:16,350 --> 00:01:27,030
‫Girinti yapacağız, tetikleyici bileşen olarak iki nokta üst üste, iki nokta üst üste koyacağız ve noktalı virgülü parantezlerle değiştireceğiz.

20
00:01:27,570 --> 00:01:35,520
‫Ve sonra istediğimiz kod temel olarak tic bileşeninin içeriğidir, ancak yapmak istemediğimiz şey sadece burada

21
00:01:35,520 --> 00:01:39,640
‫aktörün kilidini açtığımızı günlüğe kaydetmektir.

22
00:01:39,660 --> 00:01:47,280
‫Yapmak istediğimiz şey, bu aktörü bulduğumuz durumda, esasen onu iade etmek istiyoruz.

23
00:01:47,280 --> 00:01:48,870
‫Bunu yapabilmemizin birkaç yolu var.

24
00:01:48,870 --> 00:01:56,370
‫Fonksiyonumuzun başında, geri dönüş aktörü olacak bir aktör işaretçisi olduğunu söyleyebiliriz

25
00:01:56,370 --> 00:02:00,840
‫ve varsayılan olarak bunu null işaretçisine ayarlarız.

26
00:02:00,840 --> 00:02:04,380
‫Yani geri döneceğimiz bir aktör yok.

27
00:02:04,380 --> 00:02:09,360
‫Ancak for döngümüzden geçtiğimizde ve sonunda kabul edilebilir etikete sahip

28
00:02:09,360 --> 00:02:16,410
‫bir aktör bulduğumuzda, Hey, geri dönen aktör aslında burada dizimizde bulduğumuz aktör işaretçisini göstermelidir

29
00:02:16,410 --> 00:02:17,940
‫diyebiliriz.

30
00:02:17,940 --> 00:02:22,590
‫Ve sonra for döngüsünün sonunda, for döngüsü bittikten sonra, tüm aktörleri gözden geçirdik.

31
00:02:22,590 --> 00:02:28,920
‫Devam edip return actor değişkenini döndürebiliriz çünkü bu doğru türdür.

32
00:02:29,400 --> 00:02:30,390
‫Sorun değil.

33
00:02:30,390 --> 00:02:35,400
‫Ancak bir değişken oluşturmamızı ve ayrıca kabul edilebilir bir aktör bulmuş olsak bile tüm

34
00:02:35,400 --> 00:02:38,040
‫for döngüsünü çalıştırmamızı gerektirir.

35
00:02:38,460 --> 00:02:42,180
‫Bu yüzden bunu yapmanın daha iyi bir yolu erken iade kullanmaktır.

36
00:02:42,180 --> 00:02:48,240
‫Ve bu tür bir şeyi daha önce de CP'yi yakaladığımız yerde görmüştük.

37
00:02:48,240 --> 00:02:54,270
‫Fizik tutamaçları boş bir işaretçiye eşitse, geri döneriz ve tik bileşeninin geri kalanının çalışması

38
00:02:54,270 --> 00:02:55,260
‫gerekmez.

39
00:02:55,260 --> 00:03:00,180
‫Aynı verimliliği for döngülerinde de kullanabiliriz.

40
00:03:00,180 --> 00:03:06,960
‫Yapacağım şey, eğer kabul edilebilir aktörü bulduysak, sadece bir geri dönüş aktörü yapmak olacak.

41
00:03:06,960 --> 00:03:11,850
‫Tam anlamıyla bu for döngüsünde bulduğumuz işaretçiyi geri döndürüyoruz ve for döngüsünün geri kalanının

42
00:03:11,850 --> 00:03:13,500
‫çalışması gerekmiyor.

43
00:03:13,800 --> 00:03:20,340
‫Ancak, for döngüsünün sonuna kadar gidersek ve hiçbir şey bulamazsak, hiçbir şey döndürmemiş oluruz,

44
00:03:20,340 --> 00:03:23,970
‫return for döngüsünü durdurur, fonksiyonu terk eder.

45
00:03:23,970 --> 00:03:28,050
‫Ancak sonuna geldiğimizde, varsayılan olarak bir şey döndürmemiz gerekir.

46
00:03:28,410 --> 00:03:31,860
‫Burada sadece null pointer döndürebiliriz.

47
00:03:31,860 --> 00:03:33,450
‫Yani bu varsayılan değerdir.

48
00:03:33,450 --> 00:03:35,670
‫Bu, tüm for döngüsünü tamamladığımız anlamına gelir.

49
00:03:35,670 --> 00:03:38,040
‫Kabul edilebilir bir aktör olmadığını gördük.

50
00:03:38,040 --> 00:03:40,410
‫Üst üste bindiğimiz aktörlerin hiçbiri öyle değil.

51
00:03:41,300 --> 00:03:42,830
‫Doğru etiketle.

52
00:03:42,830 --> 00:03:45,230
‫Bu yüzden null pointer döndürüyoruz.

53
00:03:45,230 --> 00:03:51,260
‫Şimdi bu, devam edip kurtulabileceğim bu gereksiz dönüş aktörü değişkenine sahip olduğum anlamına geliyor.

54
00:03:51,260 --> 00:03:53,510
‫Ve bu gerçekten oldukça temiz bir şekilde okunuyor.

55
00:03:53,510 --> 00:03:58,070
‫Üzerinden geçiyoruz, çakışan aktörleri alıyoruz, üzerlerinde tam bir döngü yapıyoruz.

56
00:03:58,070 --> 00:04:02,780
‫Eğer her bir aktörü test edersek, kabul edilebilir etikete sahip mi?

57
00:04:02,780 --> 00:04:04,550
‫Eğer öyleyse, orada duracağız.

58
00:04:04,550 --> 00:04:05,720
‫Bunu iade ediyoruz.

59
00:04:05,720 --> 00:04:08,330
‫Hiçbirinde yoksa, null işaretçi döndürürüz.

60
00:04:08,330 --> 00:04:11,780
‫O halde aktörü bulup bulmadığımızı kaydetmeniz için size meydan okuyalım.

61
00:04:11,780 --> 00:04:14,570
‫Bu yüzden fonksiyonumuzu tik bileşeninizde çağırın.

62
00:04:14,570 --> 00:04:20,240
‫İşaretçinin null olup olmadığını kontrol edin ve bir if ve bir else deyimi kullanarak hem bir aktörümüz olup olmadığını hem de

63
00:04:20,240 --> 00:04:21,920
‫her iki durumda da günlüğe kaydedin.

64
00:04:21,920 --> 00:04:23,540
‫Videoyu duraklatın ve deneyin.

65
00:04:26,460 --> 00:04:26,850
‫KAYE.

66
00:04:26,850 --> 00:04:27,850
‫Tekrar hoş geldiniz.

67
00:04:27,870 --> 00:04:30,120
‫Şimdi teknik bileşenlerimize geçelim.

68
00:04:30,120 --> 00:04:35,490
‫Yapacağımız şey, kabul edilebilir aktör elde etmeye eşit olan aktör

69
00:04:35,490 --> 00:04:40,620
‫olacak bir değişken, bir aktör işaretçisi oluşturmaktır.

70
00:04:40,650 --> 00:04:47,220
‫Sonra if actor not equal to null pointer yapacağız, sonra bunun gövdesinde bir u log unlocking yapacağız

71
00:04:47,220 --> 00:04:56,520
‫ve sonra else'de bu sefer yeniden kilitlemeyi loglayacağız çünkü tetikleyici bileşenimizin ve birlikte hareket ettirmemizin sahip olmasını

72
00:04:56,520 --> 00:05:01,950
‫istediğim davranış bu, eğer orada çirkin adam varsa, kilidi açılacak, taşıyıcıyı

73
00:05:01,950 --> 00:05:08,760
‫kullanacak ve eğer çirkin adamı kaldırırsak temel olarak taşıma üzerindeki onay kutusunun işaretini

74
00:05:08,760 --> 00:05:12,750
‫kaldırırsak yeniden kilitlenecek.

75
00:05:12,750 --> 00:05:13,860
‫Şimdi bunu derleyelim.

76
00:05:13,860 --> 00:05:15,960
‫O zaman devam edelim ve oynat tuşuna basalım.

77
00:05:15,990 --> 00:05:19,620
‫Yeniden kilitlendiğini görebilirsiniz çünkü orada bir gargoyle yok.

78
00:05:19,650 --> 00:05:21,660
‫Gargoyle'u al ve buraya getir.

79
00:05:21,660 --> 00:05:22,560
‫Ve işte oldu.

80
00:05:22,560 --> 00:05:27,900
‫Şimdi kilidi açıyor, çıkarıyor ve tekrar kilitliyor, tekrar kilitliyor.

81
00:05:27,900 --> 00:05:28,380
‫Mükemmel.

82
00:05:28,380 --> 00:05:30,000
‫İçeri girersem hiçbir şey olmuyor.

83
00:05:30,000 --> 00:05:31,080
‫Sadece yeniden kilitleniyor.

84
00:05:31,230 --> 00:05:38,850
‫Böylece tetikleyici bileşenimizde bir şey olup olmadığını başarılı bir şekilde öğrenebildik.

85
00:05:38,850 --> 00:05:40,680
‫Şimdi sadece bir şeyler yapmasını sağlamamız gerekiyor.

86
00:05:40,680 --> 00:05:42,750
‫Bu da bir sonraki dersin konusu olacak.

87
00:05:42,750 --> 00:05:43,500
‫Orada görüşürüz.

