﻿1
00:00:04,290 --> 00:00:05,650
‫Hey, tekrar hoş geldin.

2
00:00:05,670 --> 00:00:09,900
‫Bu videoda, kazanma ve kaybetme koşulları ile ilgileniyoruz.

3
00:00:10,320 --> 00:00:14,520
‫Bu, bu oyun projesinde ele alacağımız son şeylerden biri.

4
00:00:14,550 --> 00:00:16,860
‫Şimdi bölüm planımıza bir göz atalım.

5
00:00:16,860 --> 00:00:23,430
‫Şimdi, bölüm planımızdaki ilk beş maddeyi zaten kontrol ettik ve son ikisi özel efektler

6
00:00:23,430 --> 00:00:26,580
‫ve kazanma ve kaybetme koşulları.

7
00:00:26,580 --> 00:00:32,250
‫Ve bu son ikisini değiştirip kazanma ve kaybetme koşullarını ele almak istiyorum çünkü

8
00:00:32,250 --> 00:00:39,300
‫bu oyun programlama mantığımızın sonuncusu ve özel efektler kozmetik ve daha çok son rötuşlar gibi, bu

9
00:00:39,300 --> 00:00:42,420
‫yüzden bunları en sonda ele alabiliriz.

10
00:00:42,420 --> 00:00:48,300
‫Bu videoda bir game over fonksiyonu oluşturacağız, böylece oyunun ne zaman kazanıldığını ya da kaybedildiğini

11
00:00:48,300 --> 00:00:49,950
‫bileceğiz.

12
00:00:49,950 --> 00:00:55,410
‫Ve oyunu kazanmak için dünyadaki kule sayısını saymamız gerekecek, çünkü tüm

13
00:00:55,410 --> 00:00:59,730
‫kuleleri yok ettiğimizde oyunu kazandığımızı bileceğiz.

14
00:00:59,730 --> 00:01:05,670
‫Ve eğer tankın kendisi yok olursa, o zaman bunu kaybetme koşulu olarak kabul edebiliriz.

15
00:01:05,670 --> 00:01:11,760
‫Oyun moduna geri döndüm ve yapmak istediğim ilk şey başka bir blueprint uygulanabilir olay

16
00:01:11,760 --> 00:01:12,540
‫yaratmak.

17
00:01:12,570 --> 00:01:20,520
‫C++'dan çağırabileceğimiz bu start game fonksiyonuna sahibiz, ancak mantığını oyun modunda uyguluyoruz.

18
00:01:20,520 --> 00:01:27,720
‫Blueprint Uygulanabilir Etkinlik sayesinde, oyunu kaybetmek için bunlardan bir tane daha oluşturmak istiyorum.

19
00:01:27,720 --> 00:01:31,530
‫Bu yüzden Game Over adında bir void fonksiyon oluşturacağım.

20
00:01:31,530 --> 00:01:37,530
‫Bunun için B one game adında bir boolean giriş parametresi almak istiyorum.

21
00:01:37,530 --> 00:01:43,020
‫Ve tabii ki bu blueprint ile uygulanabilir bir olay olacak çünkü bu fonksiyonla halletmek

22
00:01:43,020 --> 00:01:50,130
‫istediğim tek şey oyunu kaybettiğimizi veya kazandığımızı göstermek ve bunu blueprint'lerden yapabiliriz.

23
00:01:50,130 --> 00:01:52,410
‫Yani bir oyun bitirme fonksiyonumuz var.

24
00:01:52,410 --> 00:01:55,350
‫Şimdi bu fonksiyonu ne zaman çağırmamız gerektiğini bilmemiz gerekiyor.

25
00:01:55,350 --> 00:02:00,450
‫Öncelikle, oyunu kaybettiğimizde bu fonksiyonu çağırabileceğimizi biliyoruz

26
00:02:00,450 --> 00:02:02,550
‫ve bu da tank öldüğünde olacak.

27
00:02:02,550 --> 00:02:10,050
‫Şimdi tune tanks oyun modu CP'de aktör öldü fonksiyonumuza girelim ve eğer ölen aktör tank ise, tankın

28
00:02:10,050 --> 00:02:16,680
‫yok edilmesini ele aldığımızı ve etkin durumu false olarak ayarladığımızı görelim.

29
00:02:16,710 --> 00:02:25,020
‫Burada yapabileceğimiz bir başka şey de oyunu basitçe game over diyerek sonlandırmaktır ve bu boolean bunun için false olarak geçebileceğimiz

30
00:02:25,020 --> 00:02:27,240
‫bir oyun olabilir.

31
00:02:27,240 --> 00:02:31,770
‫Bu da en azından C++ açısından oyunu kaybetmenin önüne geçer.

32
00:02:31,800 --> 00:02:34,770
‫Şimdi maçı ne zaman kazanmamız gerektiğini bilmemiz gerekiyor.

33
00:02:34,800 --> 00:02:36,540
‫Şimdi burada bir aktör öldü.

34
00:02:36,540 --> 00:02:43,050
‫Ölü aktör bir kuleye fırlatılabiliyorsa, bir kuleyi yok ettiğimizi biliriz.

35
00:02:43,050 --> 00:02:49,740
‫Şimdi, burası bir kule sayısını veya dünyada şu anda kaç kule olduğunu takip eden tamsayı türünde bir değişkeni

36
00:02:49,740 --> 00:02:53,220
‫güncellemek için mükemmel bir yer olacaktır.

37
00:02:53,250 --> 00:02:53,580
‫Şimdi.

38
00:02:53,580 --> 00:02:59,310
‫Bunu yapmak için kule sayısını takip edecek bir değişkene ihtiyacımız var, böylece H dosyasına

39
00:02:59,310 --> 00:03:02,250
‫özel bir değişken ekleyebiliriz.

40
00:03:02,250 --> 00:03:03,960
‫Ve bunu burada yapmak istiyorum.

41
00:03:03,960 --> 00:03:08,880
‫Bu yüzden bir INT 32 oluşturacağım ve buna hedef kuleler adını vereceğim.

42
00:03:09,120 --> 00:03:15,840
‫Şimdi bunu sıfır değeriyle başlatabiliriz, ancak kule sayısı azaldıkça bunu güncellememiz

43
00:03:15,840 --> 00:03:17,760
‫gerekir.

44
00:03:17,760 --> 00:03:22,350
‫Ayrıca bunu dünyada bulunan kule sayısına göre ayarlamamız gerekiyor.

45
00:03:22,470 --> 00:03:28,170
‫Şimdi bunu dört olarak kodlayabiliriz, ancak seviyelerimize daha fazla kule eklemeye başladığımızda ne olur?

46
00:03:28,170 --> 00:03:30,690
‫O zaman işler biraz daha karmaşıklaşıyor.

47
00:03:30,690 --> 00:03:35,580
‫Bunun yerine dünyada kaç tane kule olduğunu görmek istiyorum.

48
00:03:35,610 --> 00:03:43,050
‫Şimdi, bunun için 32 döndüren bir fonksiyon oluşturabilirim ve bu fonksiyon dünyada kaç tane kule olduğunu

49
00:03:43,050 --> 00:03:45,810
‫bulabilir ve sayıyı döndürebilir.

50
00:03:45,810 --> 00:03:51,450
‫Bu fonksiyonu çağıracağım ve hedef kule sayısını alacağım.

51
00:03:51,600 --> 00:03:55,650
‫Şimdi devam edelim ve CP dosyasında bu fonksiyona bir gövde verelim.

52
00:03:55,680 --> 00:04:02,130
‫En alta kadar inip fonksiyon gövdesini oluşturacağım ve sınıf adını fonksiyon adından

53
00:04:02,130 --> 00:04:05,040
‫önce koymayı unutmayacağım.

54
00:04:05,040 --> 00:04:13,170
‫Şimdi bu bir son 32 döndürecek ve kaç kule olduğunu nasıl bulacağımıza karar vermemiz gerekiyor.

55
00:04:13,200 --> 00:04:19,800
‫Şimdi oyun statiğinde sınıfın Tüm Aktörlerini Al adında bir işlev var.

56
00:04:19,800 --> 00:04:21,300
‫İşte belgeler.

57
00:04:21,300 --> 00:04:25,770
‫Belirtilen sınıftaki dünyadaki tüm aktörleri bul diyor.

58
00:04:25,770 --> 00:04:28,890
‫Bu yüzden belirli bir sınıf belirtmemiz gerekiyor.

59
00:04:28,920 --> 00:04:31,530
‫Şimdi bu fonksiyonun üç girişi vardır.

60
00:04:31,530 --> 00:04:33,720
‫Birincisi bir dünya bağlamı nesnesidir.

61
00:04:33,720 --> 00:04:34,770
‫Bu çok kolay.

62
00:04:34,770 --> 00:04:36,180
‫Bununla nasıl başa çıkacağımızı biliyoruz.

63
00:04:36,180 --> 00:04:41,610
‫Ancak bundan sonra bir aktörün PT alt sınıfına sahibiz ve buna Aktör Sınıfı deniyor.

64
00:04:41,610 --> 00:04:48,000
‫Şimdi bir PT alt sınıfı gerektiren fonksiyonların girdi olarak bir u sınıfı kabul edebildiğini ve üçüncü parametrenin

65
00:04:48,000 --> 00:04:49,740
‫bir T dizisi olduğunu gördük.

66
00:04:49,770 --> 00:04:56,940
‫Aktör işaretçilerinden oluşan bir t dizisi gerektirir ve bu bir referans olarak aktarılır ve bir const referansı

67
00:04:56,940 --> 00:05:03,680
‫değildir, bu da bu işlevin act adı verilen bu giriş parametresini değiştirebileceğini gösterir.

68
00:05:03,730 --> 00:05:08,530
‫Durumun böyle olduğuna dair bir başka ipucu da aktörlere seslenilmiş olmasıdır.

69
00:05:08,530 --> 00:05:15,820
‫Bu bir out parametresidir, yani onu içeri aktarırız ve fonksiyon çağrıldıktan sonra fonksiyon tarafından içine

70
00:05:15,820 --> 00:05:18,220
‫konulan değerlere sahip olur.

71
00:05:18,220 --> 00:05:21,340
‫Yani bunu fonksiyon için bir tür çıktı olarak düşünebiliriz.

72
00:05:21,340 --> 00:05:28,810
‫Şimdi burada parametreler için aktör sınıfının bulunacak aktörün sınıfı olduğu belirtilmelidir, aksi takdirde sonuç

73
00:05:28,810 --> 00:05:30,640
‫dizisi boş olacaktır.

74
00:05:30,640 --> 00:05:37,240
‫Tüm kuleleri bulmak istiyoruz ve out actors, belirtilen sınıftaki aktörlerin bir çıktı dizisidir.

75
00:05:37,240 --> 00:05:42,670
‫Bu fonksiyonu çağırıp bir dizi aktardığımızda, fonksiyon tamamlandığında, bu dizi

76
00:05:42,670 --> 00:05:48,160
‫belirtilen sınıfın dünyasındaki tüm aktörlerin işaretçilerini içerecektir.

77
00:05:48,160 --> 00:05:51,880
‫Dolayısıyla, bu işlevin bir dünya bağlamı nesnesi gerektirdiğini biliyoruz.

78
00:05:51,880 --> 00:05:56,500
‫Şimdi, eğer bunu oyun modunun içinden çağıracaksak, bunu bir sonraki bölüme aktarabiliriz.

79
00:05:56,500 --> 00:06:03,490
‫A aktörünü belirtmek için PT alt sınıfına ihtiyacımız var ve bunun yeni bir sınıf işaretçisi olabileceğini biliyoruz.

80
00:06:03,490 --> 00:06:06,070
‫Şimdi bulunacak sınıfı belirtmemiz gerekiyor.

81
00:06:06,070 --> 00:06:12,010
‫Eğer bir aktör belirtirsek, dünyadaki her aktörün işaretçileriyle dolu büyük bir dizi elde ederiz.

82
00:06:12,010 --> 00:06:13,810
‫Ama tüm aktörlere ihtiyacımız yok.

83
00:06:13,810 --> 00:06:21,070
‫Sadece kulelere ihtiyacımız var, böylece bize A Tower C++ sınıfını temsil eden yeni bir sınıf döndürecek olan bir tower

84
00:06:21,070 --> 00:06:23,290
‫static sınıfı kullanabiliriz.

85
00:06:23,290 --> 00:06:26,770
‫Şimdi üçüncü parametre bir aktör işaretçilerinden oluşan bir T dizisidir.

86
00:06:26,770 --> 00:06:33,760
‫Dolayısıyla, köşeli parantezler içinde a aktör işaretçisini belirterek T dizisi türünde bir yerel değişken oluşturursak,

87
00:06:33,760 --> 00:06:35,980
‫o zaman size oyun statiği diyebiliriz.

88
00:06:36,010 --> 00:06:41,620
‫Bu üç girdide geçen sınıfın tüm aktörlerini alın ve bu eylemin sonucu, towers dizimizin

89
00:06:41,620 --> 00:06:45,970
‫dünyamızdaki tüm kulelere işaretçiler içermesi olacaktır.

90
00:06:45,970 --> 00:06:52,840
‫Şimdi tepsi, hepsi aynı türü paylaştığı sürece bir dizi öğe içerebilen güzel bir kap

91
00:06:52,840 --> 00:06:53,830
‫sınıfıdır.

92
00:06:53,830 --> 00:07:01,690
‫Ve bu sınıf, öğeleri bir tepside saklarken kullanabileceğimiz oldukça fazla fonksiyona sahiptir.

93
00:07:01,720 --> 00:07:08,710
‫Şimdi aşağıya doğru kaydıracağım ve size burada Num Short four number adlı bu fonksiyonu göstereceğim ve

94
00:07:08,830 --> 00:07:12,310
‫dizideki eleman sayısını döndürdüğünü söylüyor.

95
00:07:12,310 --> 00:07:20,380
‫Böylece, dünyadaki tüm kulelere sahip olduğumuzda dizimizdeki eleman sayısını elde etmek için bu fonksiyonu kullanabiliriz.

96
00:07:20,380 --> 00:07:26,080
‫Yani Tower'ın num'unu çağırırsak, bunu fonksiyonumuzun dönüş değeri olarak kullanabiliriz.

97
00:07:26,080 --> 00:07:31,930
‫Ve gördüğümüz gibi, get target tower count adını verdiğimiz bu fonksiyon için geri dönüş değerimizi n 32 olarak

98
00:07:31,930 --> 00:07:35,980
‫belirledik, kulemizin dizisindeki eleman sayısını döndürebiliriz.

99
00:07:35,980 --> 00:07:41,230
‫Bu nedenle, bu hedef kule sayısı alma işlevini uygulamanız için size meydan okumak istiyorum.

100
00:07:41,230 --> 00:07:44,710
‫Bu yüzden A aktör tipinde yerel bir t dizisi oluşturun.

101
00:07:44,710 --> 00:07:47,110
‫Buna kule ya da istediğiniz herhangi bir şey diyebilirsiniz.

102
00:07:47,110 --> 00:07:52,930
‫Şimdi you game, play statics fonksiyonunu kullanın, sınıfın tüm aktörlerini alın ve doğru giriş parametrelerini geçirdiğinizden

103
00:07:52,930 --> 00:07:54,220
‫emin olun.

104
00:07:54,220 --> 00:08:00,310
‫Şimdi, bu fonksiyonu çağırdıktan sonra, tepsiniz dünyamızdaki tüm kulelerin işaretçilerini

105
00:08:00,310 --> 00:08:07,930
‫içerecektir, böylece tepsi sınıfına ait olan num fonksiyonunu kullanarak kule sayısını döndürebilirsiniz.

106
00:08:07,930 --> 00:08:10,660
‫Bu yüzden videoyu duraklatın ve uygulayın.

107
00:08:10,660 --> 00:08:12,640
‫Hedef kule sayısını şimdi alın.

108
00:08:15,670 --> 00:08:16,000
‫Tamam.

109
00:08:16,000 --> 00:08:17,980
‫İşte hedef kule sayısı.

110
00:08:18,010 --> 00:08:24,250
‫Şimdi, yapacağım ilk şey, bu dizinin saklaması gereken öğe türü olarak bir aktör işaretçisi belirterek

111
00:08:24,250 --> 00:08:26,590
‫yerel bir t dizisi oluşturmaktır.

112
00:08:26,590 --> 00:08:31,720
‫Ve şimdi bu kuleleri çağıracağım, size gameplay statics demem gerekiyor, bu yüzden bu başlığın dahil edildiğinden

113
00:08:31,720 --> 00:08:33,100
‫emin olmam gerekiyor.

114
00:08:33,130 --> 00:08:38,830
‫Diğer bazı işlevlerimizde kullandığımız için şimdi öyle olduğunu görüyorum, ancak bu kontrolü yapmak iyi

115
00:08:38,830 --> 00:08:39,340
‫olur.

116
00:08:39,370 --> 00:08:47,380
‫Daha sonra oyun istatistiklerini kullanabilirim ve sınıfın tüm aktörlerini al diyeceğim.

117
00:08:47,410 --> 00:08:54,130
‫Şimdi ilk girdi bir dünya bağlamı nesnesi, bunu geçeceğim ve sonraki de aktör sınıfını

118
00:08:54,130 --> 00:08:55,990
‫temsil eden alt sınıf.

119
00:08:55,990 --> 00:09:04,270
‫Ve kule sınıfını temsil eden bir U sınıfı döndürecek bir kule statik sınıfı kullanabileceğimizden bahsetmiştim.

120
00:09:04,300 --> 00:09:09,190
‫Şimdi tekrar, kuleleri dahil ettiğimizden emin olmak iyi bir fikirdir, ki öyleyiz.

121
00:09:09,220 --> 00:09:14,740
‫Şimdi, üçüncü ve son parametre tepsi olacak ve kulelere geçebiliriz.

122
00:09:14,740 --> 00:09:21,880
‫Bu işlev çağrıldıktan sonra, kuleler artık dünyadaki tüm kulelerin işaretçilerini içerecektir.

123
00:09:21,880 --> 00:09:28,000
‫Aslında, kulelerden türeyen bir sınıfın herhangi bir nesnesi varsa, bunları da alırız.

124
00:09:28,000 --> 00:09:33,780
‫Elimizde bir towers dizisi olduğuna göre, bu dizideki eleman sayısını döndürebiliriz.

125
00:09:33,790 --> 00:09:40,660
‫Bu yüzden bir return deyimi kullanacağım ve towers dot num kullanacağım ve şimdi bir get target tower count'umuz var.

126
00:09:40,660 --> 00:09:41,740
‫Yani bu harika.

127
00:09:41,740 --> 00:09:48,220
‫Bunu, hedef kuleler olarak adlandırdığımız kule sayımızı başlatmak için kullanabiliriz ve bunu oyuna başladığımızda

128
00:09:48,220 --> 00:09:49,090
‫yapabiliriz.

129
00:09:49,090 --> 00:09:51,780
‫Bu yüzden bunu buraya yerleştireceğim ve oyun başlangıcını halledeceğim.

130
00:09:51,790 --> 00:09:54,400
‫Aslında, yapacağımız ilk şeyin bu olmasını isterim.

131
00:09:54,400 --> 00:10:02,530
‫Bu yüzden hedef kuleleri alacağım ve hedef kule sayısını al'dan dönen değere eşit olarak ayarlayacağım.

132
00:10:02,560 --> 00:10:07,240
‫Şimdi hedef kuleler dünyamızdaki kule sayısına başlatılmalıdır.

133
00:10:07,240 --> 00:10:13,120
‫Bu harika, ancak bir kule her öldüğünde bu sayıyı güncellememiz gerekiyor, bu da aktör öldü işlevimize

134
00:10:13,120 --> 00:10:16,000
‫girmemiz gerektiği anlamına geliyor.

135
00:10:16,000 --> 00:10:22,660
‫Ve burada, ölü aktörü yıkılmış bir kuleye atarsak, yıkımı gerçekleştirdikten sonra, hedef kuleler

136
00:10:22,660 --> 00:10:30,430
‫değişkenimizi güncellemeliyiz, böylece hedef kuleler diyebiliriz ve azaltma operatörünü kullanabiliriz.

137
00:10:30,430 --> 00:10:35,560
‫Ya post decrement operatörünü ya da predicament operatörünü kullanabiliriz.

138
00:10:35,560 --> 00:10:41,800
‫Bunların her ikisi de aynı eylemle sonuçlanır, yani hedef kuleleri alır ve ondan bir tane çıkarır.

139
00:10:41,800 --> 00:10:48,220
‫Şimdi, hedef kulelerden bir çıkardıktan sonra, Hedef Kulelerin sıfıra ulaşıp ulaşmadığını kontrol

140
00:10:48,220 --> 00:10:49,660
‫etmemiz gerekiyor.

141
00:10:49,660 --> 00:10:55,150
‫Bu yüzden Hedef kulelerin sıfıra ulaşıp ulaşmadığını görmek için buraya bir if kontrolü yerleştireceğim.

142
00:10:55,780 --> 00:11:02,380
‫Şimdi, bunu yapar yapmaz, oyunun bitmesi gerektiğini biliyoruz, böylece tüm kuleleri yok ettiğimiz

143
00:11:02,710 --> 00:11:10,660
‫için gerçek 4b1 oyununda geçen oyun bitti işlevini çağırabiliriz ve bunu bir galibiyet olarak kabul edebiliriz.

144
00:11:10,660 --> 00:11:13,180
‫Şimdi devam edelim ve kodumuzu derleyelim.

145
00:11:13,180 --> 00:11:18,670
‫Şimdi, burada editörde, bu videoyu tamamlamadan önce yapmak istediğim şey oyun modu planımıza

146
00:11:18,670 --> 00:11:19,420
‫gitmek.

147
00:11:19,420 --> 00:11:21,040
‫İşte bip melodisi.

148
00:11:21,040 --> 00:11:24,400
‫Teşekkürler oyun modu ve bu etkinlik başlangıç oyunumuz var.

149
00:11:24,400 --> 00:11:29,650
‫Yaptığımız şey, oyuna başlama widget'ımızı oluşturmak, onu görüntü alanına eklemek ve böylece oyuna

150
00:11:29,650 --> 00:11:31,780
‫başlama geri sayım sayacını görebilmek.

151
00:11:31,780 --> 00:11:39,820
‫Bu yüzden start game'in çağrıldığını biliyoruz, ama aynı zamanda game over blueprint uygulanabilir olayımızı da uygulamamız gerekiyor.

152
00:11:39,820 --> 00:11:47,260
‫Bu yüzden sağ tıklayıp game over yazacağım ve işte etkinliğimiz, game over ve şuna bir göz atın.

153
00:11:47,290 --> 00:11:50,860
‫Tek bir oyunumuz olduğuna ve bunun bir boolean olduğuna dikkat edin.

154
00:11:50,860 --> 00:11:57,220
‫Yani bu fonksiyonu C++'dan çağırdığımızda, B one oyunu için bir boolean değeri giriyoruz.

155
00:11:57,220 --> 00:12:04,270
‫Blueprint olay düğümü, küçük B harfini çıkarır ve bizim için bir tür nezaket olarak bir ile oyun arasına bir boşluk

156
00:12:04,270 --> 00:12:05,440
‫yerleştirir.

157
00:12:05,440 --> 00:12:10,150
‫Şimdi oyunu kazandığımızda veya kaybettiğimizde görebilmek için bazı widget'lar oluşturacağız, ancak bunu gelecekteki

158
00:12:10,150 --> 00:12:11,650
‫bir videoda yapacağız.

159
00:12:11,650 --> 00:12:17,770
‫Şimdilik, sadece bunun çağrıldığını ve doğru şekilde çağrıldığını doğrulamak istiyorum, böylece bunu bir print

160
00:12:17,770 --> 00:12:22,180
‫string düğümü ile yapabilirim ve bu boolean'a dayalı değeri yazdırabiliriz.

161
00:12:22,180 --> 00:12:29,080
‫Bu boolean'ı tıklayıp doğrudan dize girişine sürüklersem, bir boolean'ı dizeye dönüştürme olduğunu

162
00:12:29,080 --> 00:12:30,280
‫görürüz.

163
00:12:30,280 --> 00:12:37,420
‫Bu, bir boolean'ı bizim için bir dizeye dönüştürecek başka bir kullanışlı dönüştürme düğümüdür ve işlevselliği,

164
00:12:37,420 --> 00:12:44,350
‫boolean'ın doğruluk değerine bağlı olarak true veya false kelimesine dönüştürecek şekildedir.

165
00:12:44,710 --> 00:12:46,120
‫Peki neden bunu test etmiyoruz?

166
00:12:46,120 --> 00:12:48,040
‫Derleyip oynat tuşuna basacağım.

167
00:12:49,400 --> 00:12:52,570
‫Pekala, şimdi oyunu kazanmaya hazırım.

168
00:12:52,580 --> 00:12:55,340
‫Umarım bunu yapamadan kaybetmem.

169
00:12:55,430 --> 00:13:01,430
‫Oyunu kaybettim ve ekranın sol üst köşesinde yanlış yazısını görebilirsiniz.

170
00:13:01,430 --> 00:13:08,570
‫Artık oyunu kaybetmenin game over olayının çağrılmasına ve false değerinin girilmesine neden olduğunu biliyoruz, oyunu kazandığımızda

171
00:13:08,570 --> 00:13:12,050
‫true değerinin girildiğinden emin olmamız gerekiyor.

172
00:13:12,050 --> 00:13:14,900
‫O zaman bütün kuleleri öldürmeye çalışalım.

173
00:13:15,380 --> 00:13:18,020
‫Bu yüzden vurulmamaya çalışmalıyım.

174
00:13:18,020 --> 00:13:19,250
‫Çoktan vuruldum.

175
00:13:19,910 --> 00:13:21,560
‫Bu oldukça zorlayıcı.

176
00:13:22,840 --> 00:13:24,820
‫Ve işte başlıyoruz.

177
00:13:24,820 --> 00:13:28,720
‫Ve doğru ekranın sol üst köşesine basılır.

178
00:13:28,750 --> 00:13:31,600
‫Sadece birkaç saniye görünür, bu yüzden kaçırmış olabilirsiniz.

179
00:13:31,630 --> 00:13:32,350
‫Tamam, harika.

180
00:13:32,350 --> 00:13:35,050
‫Yani artık kazanma ve kaybetme koşullarımız var.

181
00:13:35,080 --> 00:13:41,380
‫Bir sonraki adım, bunu ekranda bir widget şeklinde göstermektir, böylece print string düğümüne

182
00:13:41,380 --> 00:13:42,850
‫güvenmeyiz.

183
00:13:42,880 --> 00:13:48,010
‫Özetle, artık kazanma ve kaybetme koşullarımız var ve bunu parlatmak için yapmamız gereken sadece birkaç

184
00:13:48,010 --> 00:13:53,890
‫şey var, örneğin oyuncuya oyunu kazandıklarını veya kaybettiklerini bildiren widget'lar oluşturmak gibi.

185
00:13:53,890 --> 00:13:58,900
‫Ayrıca bir tepsi ve oyun statiği işlevini kullanarak kule sayısını saydık.

186
00:13:58,930 --> 00:14:00,600
‫Sınıfın tüm oyuncularını alın.

187
00:14:00,610 --> 00:14:01,270
‫İyi işti.

188
00:14:01,270 --> 00:14:03,370
‫Bu oyun gerçekten iyi gidiyor.

189
00:14:03,370 --> 00:14:09,220
‫Bir sonraki videoda bu widget'ları oluşturacağız ve ardından özel efektler eklemeye ve oyunumuzu

190
00:14:09,220 --> 00:14:10,840
‫parlatmaya hazırız.

191
00:14:10,870 --> 00:14:12,520
‫Bir sonraki videoda görüşürüz.

