﻿1
00:00:04,360 --> 00:00:05,860
‫Merhaba ve bu konferansa hoş geldiniz.

2
00:00:05,860 --> 00:00:12,940
‫Bir kod parçasını değişken sayılarda nasıl çalıştırabileceğimizi öğreneceğiz, böylece

3
00:00:12,940 --> 00:00:20,050
‫bu alanın, bu tetikleyici bileşenin içinde üst üste gelen her nesneyi yazdırabileceğiz.

4
00:00:20,050 --> 00:00:24,400
‫Gördüğünüz gibi ikimiz de içeride duruyoruz ve bir de gargoyle var.

5
00:00:24,430 --> 00:00:29,410
‫Hem gargoyles adını hem de oyuncu plan adını yazdırıyor.

6
00:00:29,410 --> 00:00:31,360
‫Şimdi bunun nasıl yapıldığını görelim.

7
00:00:31,930 --> 00:00:39,220
‫Şimdi, buradaki kodumuzla ilgili sorun, aktör dizimizin içinde birden fazla aktör olabileceğidir.

8
00:00:39,220 --> 00:00:44,380
‫Tüm aktörleri üst üste bindirerek görüntülemek ya da tüm bu aktörlerle bir şeyler yapmak

9
00:00:44,380 --> 00:00:47,680
‫istiyorsak, kodun içinden geçebilmemiz gerekir.

10
00:00:47,680 --> 00:00:53,740
‫İki ya da üç ya da dört ya da beş vb. olduğu durumlar için bir if deyimi yazmak son

11
00:00:53,740 --> 00:00:58,840
‫derece verimsiz olacaktır. Ve kesinlikle her vakayı yakalayamaz çünkü dosyamızda

12
00:00:58,840 --> 00:01:00,220
‫sınırlı sayıda satır var.

13
00:01:00,580 --> 00:01:08,230
‫Bu nedenle, bir kod parçasını birden çok kez tekrarlamak istediğimizde, ancak kodu derlerken aslında bilmediğimiz

14
00:01:08,230 --> 00:01:14,530
‫sayıda tekrarlamak istediğimizde, if deyimimizi değiştirmemiz gerekir.

15
00:01:14,770 --> 00:01:20,170
‫If deyimi esasen, bu kodu çalıştırmalı mıyım yoksa çalıştırmamalı mıyım diyen bir şeyle, bu kodu

16
00:01:20,170 --> 00:01:25,300
‫çalıştırmalı mıyım yoksa birçok kez, iki kez, üç kez, dört kez vb. çalıştırmalı mıyım?

17
00:01:25,450 --> 00:01:29,440
‫Bunu yapmanın yolu vahşi ifade denilen bir şeydir.

18
00:01:29,440 --> 00:01:32,440
‫Artık bir if deyimine çok benzer şekilde oluşturulmuştur.

19
00:01:32,440 --> 00:01:41,350
‫Böylece while parantezlerinin içine bir tür boolean değeri koyarsınız ve ardından küme parantezlerimiz

20
00:01:41,350 --> 00:01:42,430
‫olur.

21
00:01:42,430 --> 00:01:48,340
‫Ve küme parantezlerinin içinde, while deyimimizdeki koşul yanlış olana

22
00:01:48,340 --> 00:01:54,340
‫kadar tekrar tekrar çalıştırılmaya devam edecek olan kod bloğu.

23
00:01:54,340 --> 00:01:55,990
‫Bu yüzden buna while deniyor.

24
00:01:55,990 --> 00:01:59,320
‫Yani bu şey doğruyken, bu kodu çalıştırır.

25
00:01:59,320 --> 00:02:04,630
‫Bu nedenle, bazen kodu hiç çalıştırmayabileceği için if deyimine benzer, ancak bir kod parçasını

26
00:02:04,630 --> 00:02:09,940
‫yalnızca bir kez çalıştırabilen if deyiminin aksine, while deyimi, bu boole hiçbir zaman

27
00:02:09,940 --> 00:02:14,890
‫yanlış olmazsa temelde sonsuza kadar çalıştırmaya devam edebilir.

28
00:02:15,460 --> 00:02:22,420
‫Peki bir int 32 oluşturup buna index adını vermek ve sıfırdan başlatmak varken bu neden kullanışlıdır?

29
00:02:22,900 --> 00:02:31,750
‫Ve sonra bu vahşi döngünün gövdesinden her geçişimizde, bu indekste depolanan değeri artırırız.

30
00:02:31,750 --> 00:02:36,130
‫Yani indeks eşittir indeks artı bir diyebiliriz.

31
00:02:36,640 --> 00:02:42,520
‫Şimdi C++'da bunu yapmak için bir steno vardır, bunun gibi index artı bir yapmak

32
00:02:42,520 --> 00:02:49,480
‫yerine, plus plus index yaparsınız ve bu sadece index değişkeninde depolanan şeye bir ekler.

33
00:02:50,110 --> 00:02:50,360
‫Tamam.

34
00:02:50,470 --> 00:02:52,090
‫Yani sıfırdan başlıyoruz.

35
00:02:52,120 --> 00:02:54,940
‫Her dolaştığımızda endeksi artırıyoruz.

36
00:02:54,940 --> 00:03:02,620
‫Ve yapabileceğimiz şey, bu while döngüsünün etrafında sadece indeksimiz dizimizin sınırları içindeyken

37
00:03:02,620 --> 00:03:05,200
‫dolaşmasını sağlamaktır.

38
00:03:05,200 --> 00:03:11,440
‫Dolayısıyla, indeksin aktör nokta sayısından küçük olması gerektiğini söyleyebiliriz.

39
00:03:11,440 --> 00:03:13,210
‫Yani dizinin boyutu budur.

40
00:03:13,210 --> 00:03:19,570
‫Dizide beş öğe olduğunda, dizideki son öğenin dördüncü dizin olduğunu unutmayın.

41
00:03:19,870 --> 00:03:28,450
‫Ve böylece endeks geçerli olduğunda, endeks dört beşten küçük olduğunda bunun doğru olacağını görebiliriz.

42
00:03:28,450 --> 00:03:34,540
‫Ancak indeksimiz dizinin sonunu geçer geçmez, indeks beşe ulaştığında, aktör

43
00:03:34,540 --> 00:03:37,390
‫numarası artık olmayacaktır.

44
00:03:37,390 --> 00:03:39,220
‫Beş artık beşten az değil.

45
00:03:39,220 --> 00:03:45,220
‫Böylece while döngüsü çalışmayı durduracak ve işlevin geri kalanıyla devam edecektir.

46
00:03:45,700 --> 00:03:53,110
‫Bunun anlamı, şimdi yukarıda sahip olduğumuz kodu alıp yeniden yazabileceğimizdir.

47
00:03:53,290 --> 00:03:58,270
‫Bunu alalım, kopyalayalım, keselim ve buraya, vahşi döngümüze yapıştıralım.

48
00:03:58,270 --> 00:04:03,520
‫Ancak endeksi artırmadan önce, en önemlisi, yapacağımız şey aktör sıfırını

49
00:04:03,520 --> 00:04:08,560
‫aldığımız bu sıfırı aktör endeksi ile değiştirmek olacaktır.

50
00:04:08,800 --> 00:04:10,210
‫O zaman bunu takip edelim.

51
00:04:10,240 --> 00:04:11,950
‫Bu nasıl olacak?

52
00:04:12,580 --> 00:04:15,910
‫If deyimimizi kaldıralım çünkü bu biraz kafa karıştırıcı.

53
00:04:15,910 --> 00:04:20,230
‫Böylece değişken indeksindeki değer sıfır olacak şekilde başlarız.

54
00:04:20,530 --> 00:04:23,470
‫Şimdi işleri basit tutmak için iki aktörümüz olduğunu düşünün.

55
00:04:23,680 --> 00:04:27,070
‫Sıfır ikiden küçük mü?

56
00:04:27,100 --> 00:04:27,760
‫Evet.

57
00:04:27,760 --> 00:04:28,570
‫Evet, öyle.

58
00:04:28,570 --> 00:04:37,510
‫Böylece içeri giriyoruz ve sıfır numaralı aktörü alıyoruz, adını alıyoruz ve çıkışını yapıyoruz ve sonra indeksteki değeri bir

59
00:04:37,510 --> 00:04:38,680
‫artırıyoruz.

60
00:04:38,680 --> 00:04:40,840
‫Yani sıfırdan bire çıkıyor.

61
00:04:41,320 --> 00:04:47,320
‫Şimdi while döngüsü koşulunu değerlendirmek için geri dönüyoruz ve diyoruz ki bir ikiden küçük mü?

62
00:04:47,320 --> 00:04:48,190
‫Evet, öyle.

63
00:04:48,190 --> 00:04:55,540
‫Daha sonra içeri girip birinci aktörü alabiliriz ve ardından adını alıp yazdıracağız.

64
00:04:55,540 --> 00:05:02,380
‫Daha sonra indeksi tekrar ikiye çıkarıyoruz ve soruyu vahşi döngüde tekrar soruyoruz, iki daha

65
00:05:02,380 --> 00:05:03,760
‫az mı diyoruz.

66
00:05:04,240 --> 00:05:05,890
‫Bu sorunun cevabı hayır.

67
00:05:05,890 --> 00:05:12,070
‫Böylece while döngüsünün gövdesini atlarız ve kodun geri kalanını yürütmeye devam ederiz.

68
00:05:12,430 --> 00:05:15,120
‫Yani temelde ulaşmak istediğimiz şey bu.

69
00:05:15,130 --> 00:05:23,590
‫Dizideki her bir aktörün adını yazdırmak istiyoruz ve bu kod parçası da bunu yapacak.

70
00:05:23,620 --> 00:05:26,370
‫Devam edip derleyelim ve haklı olup olmadığımı kontrol edelim.

71
00:05:26,380 --> 00:05:33,610
‫Devam edip oyuna basarsak ve ceza sahasına girersek, sadece BP oyuncusuyla örtüştüğümüzü görebilirsiniz.

72
00:05:33,730 --> 00:05:36,270
‫Ya gidip gargoyle'umuzu alırsak?

73
00:05:36,280 --> 00:05:41,070
‫Yalnızca sıçramaya yapıştırırsak, çirkin surun üst üste bindiğini görebilirsiniz.

74
00:05:41,080 --> 00:05:43,250
‫Peki ya ben de devreye girersem?

75
00:05:43,270 --> 00:05:50,080
‫Şimdi hem oyuncuyu hem de gargoyle'u aynı karede üst üste bindirdiğimizi görebilirsiniz.

76
00:05:50,080 --> 00:05:56,770
‫Yani while döngümüz çalışıyor, dizide birden fazla aktör olduğunda bir kod parçasını birden

77
00:05:56,770 --> 00:05:58,520
‫çok kez çalıştırıyor.

78
00:05:58,540 --> 00:06:04,570
‫Şimdi, bu model çok yaygın olduğu için bir çeşit indeksimiz var ve döngüden her geçtiğimizde

79
00:06:04,570 --> 00:06:09,340
‫bunu artırıyoruz, aslında C++'da bunun için bazı kısaltmalar var.

80
00:06:09,340 --> 00:06:18,310
‫Visual Studio kodunuza dört yazarsanız, burada genişletebileceğiniz ve bunun genel bir yapı olduğunu

81
00:06:18,310 --> 00:06:23,890
‫görebileceğiniz dört döngü için bir kod parçacığı vardır.

82
00:06:23,890 --> 00:06:25,420
‫Burada T beden diye bir şey var.

83
00:06:25,420 --> 00:06:29,470
‫Amaçlarımız doğrultusunda bunu INT 32 ile değiştirebiliriz.

84
00:06:29,620 --> 00:06:36,390
‫Ve esasen bunun söylediği şey, for döngüsünün parantezleri içinde üç ifade olduğudur.

85
00:06:36,400 --> 00:06:43,240
‫İlki, while döngümüzden önce indeks değişkenimizi ayarladığımız yere eşdeğerdir.

86
00:06:43,780 --> 00:06:49,120
‫İkincisi, vahşi döngümüzün içine koyduğumuz şeye eşdeğer olan koşuldur.

87
00:06:49,510 --> 00:06:54,670
‫Ve sayıyı aktör nokta sayısı ile değiştirebileceğimizi görebilirsiniz.

88
00:06:54,670 --> 00:07:01,240
‫Son kısım ise temel olarak artı artıdır, ister önce ister sonra koyun, indeks çok önemli

89
00:07:01,240 --> 00:07:07,240
‫değildir, ancak bunun indeksteki değeri artırdığını görebilirsiniz.

90
00:07:07,240 --> 00:07:11,080
‫Yani vahşi döngümüzün sonuna koyduğumuz satıra eşdeğerdir.

91
00:07:11,470 --> 00:07:17,980
‫Yani bu, vahşi döngümüzü kullanarak birden çok satıra yaymak zorunda kaldığımız şeyleri tek bir satırda bir araya

92
00:07:17,980 --> 00:07:18,910
‫getiriyor.

93
00:07:18,910 --> 00:07:20,380
‫İşte size basit bir meydan okuma.

94
00:07:20,380 --> 00:07:23,470
‫Vahşi döngünüzü bir for döngüsüne dönüştürün.

95
00:07:23,470 --> 00:07:30,220
‫Kodun gövdesini kopyalayacaksınız, indeksi bu isim indeksinden I olarak değiştireceksiniz.

96
00:07:30,250 --> 00:07:36,550
‫Genellikle for döngülerinde kısaltmayı kullanırız, sadece dizin için bir kısaltmadır ve videoyu duraklatıp

97
00:07:36,550 --> 00:07:38,020
‫derler ve test ederiz.

98
00:07:38,020 --> 00:07:38,800
‫Şimdi bir dene.

99
00:07:41,860 --> 00:07:42,180
‫Tamam.

100
00:07:42,190 --> 00:07:42,760
‫Tekrar hoş geldiniz.

101
00:07:42,760 --> 00:07:44,710
‫Yani bu oldukça basit olmalı.

102
00:07:44,710 --> 00:07:47,050
‫Burada indeks artı artı istemiyoruz.

103
00:07:47,050 --> 00:07:53,530
‫Bu yüzden geri kalanı kesip atacağız ve aktörler dizisini index değişkeniyle indekslediğimiz yerde kanal değişikliği

104
00:07:53,530 --> 00:07:54,370
‫yapacağız.

105
00:07:54,370 --> 00:07:58,450
‫Bunu, yalnızca bu for döngüsü içinde kullanılabilen değişken IE olarak değiştireceğiz.

106
00:07:58,450 --> 00:08:04,750
‫Tam döngü sözdiziminin bir başka avantajı da IE değişkeninin yalnızca for döngüsü içinde kullanılabilir

107
00:08:04,990 --> 00:08:10,210
‫olmasıdır, oysa bunu burada Y döngüsünde bildirdiğimizde dışarıda kullanılabilir,

108
00:08:10,210 --> 00:08:16,990
‫bu da daha sonra kullanabileceğimiz indeksleri kirletir, böylece bu vahşi döngüyü silebiliriz.

109
00:08:16,990 --> 00:08:23,230
‫Ve for döngüsünün çok daha yoğun olduğunu görebilirsiniz ve sahip olduğu biraz garip sözdizimine

110
00:08:23,230 --> 00:08:25,390
‫alışacaksınız.

111
00:08:25,390 --> 00:08:30,670
‫Devam edip derleyelim ve gerçekten aynı işi yapıp yapmadığını kontrol edelim.

112
00:08:30,670 --> 00:08:38,050
‫Gargoyle'ımı alıp üst üste binen aktörlerin yanına gelirsem, ikimiz de oyukta üst üste bindiğimizde gerçekten

113
00:08:38,050 --> 00:08:42,100
‫de her iki aktörümüze de baskı yaptığını görebilirsiniz.

114
00:08:42,130 --> 00:08:42,850
‫Harika bir şey.

115
00:08:42,850 --> 00:08:49,840
‫Bu derste yeni bir programlama fikrini, döngüler fikrini gördük ve özellikle while

116
00:08:49,840 --> 00:08:53,230
‫döngüsü ve for döngüsü ile karşılaştık.

117
00:08:53,230 --> 00:08:54,910
‫Bir sonraki derste görüşürüz.

