WEBVTT Kind: captions; Language: fi

1
00:00:02.140 --> 00:00:03.940
Oikein hyvää huomenta kaikille.

2
00:00:03.940 --> 00:00:08.950
Tervetuloa seuraamaan luentoa numero
12 mut yksi kurssi kevät kaksineljä.

3
00:00:08.950 --> 00:00:11.830
Tän päivän aiheena olisi tarkoitus
jatkaa sitä olio ohjelmointia.

4
00:00:11.830 --> 00:00:13.730
Mistä eilen aloitettiinkin.

5
00:00:13.730 --> 00:00:17.450
Tehdään tänään ehkä marginaalisesti
mielenkiintoisempi esimerkki.

6
00:00:17.450 --> 00:00:21.980
Tän tapainen juttu olisi tänään tarkoitus tehdä
eleenä siinä pieni pallo, jolla voi liikkua

7
00:00:21.980 --> 00:00:26.650
näppäimistön avulla ja sitten meillä on
täällä tämmöisiä palikoita, joita voi tökkiä ja

8
00:00:26.650 --> 00:00:31.550
näillä palikoilla nyt on ominaisuuksia eli
eli paitsi että me voidaan tökkiä niitä, ne

9
00:00:31.550 --> 00:00:35.400
vaihtaa väriä ja niinku
nähdään tuosta niin jokaisella.

10
00:00:35.400 --> 00:00:40.600
Kappaleella mihin voi törmätä, on vähän niinku
oma oma väripaletti ja sitten täällä on tämmöisiä

11
00:00:40.600 --> 00:00:45.720
isompia kappaleita isompia neliöitä, joilla
näyttää olevan ääretön maassa, mikä tarkoittaa sitä,

12
00:00:45.720 --> 00:00:50.800
että ne ei siitä liiku vaikka niitä kuinka
tökkii ja sitten niillä tulee vielä tämmöinen kiva

13
00:00:50.800 --> 00:00:54.870
häviämisen animaatio kun se
väripaletti sieltä on käyty läpi.

14
00:00:54.870 --> 00:00:57.790
Eli tavallaan meillä on
tässä ikään kuin kappaleita

15
00:00:57.790 --> 00:01:00.050
tai palikoita, joita voi tökkiä niillä.

16
00:01:00.050 --> 00:01:02.290
Kaikilla on vaihtuva väri osa.

17
00:01:02.290 --> 00:01:05.350
Niistä on pikkuisen erilaisia kuin
toiset ja osalla on sitten tämmöinen

18
00:01:05.350 --> 00:01:10.030
toiminto, jolla se sitten
saadaan häviämään tolleen nätisti.

19
00:01:10.030 --> 00:01:15.070
Eli tästä nyt ehkä nokkelimmat sitten huomaakin
vähän, että minkälaisia asioita tavallaan tuohon

20
00:01:15.070 --> 00:01:19.770
olio ohjelmointiin liittyen olisi
tarkoitus tässä nyt lähteä hyödyntämään.

21
00:01:19.770 --> 00:01:23.640
Eli eli mä voisin vaikka vielä ottaa
tuota valmista koodia mitä siellä tulee

22
00:01:23.640 --> 00:01:26.670
tulee olemaan eli tän näköinen
jutska tässä olisi tarkoitus.

23
00:01:26.670 --> 00:01:29.310
Tehdä tai ikään kuin ohjelman rakenteena.

24
00:01:29.310 --> 00:01:31.770
Eli meillä on pääohjelma täällä.

25
00:01:31.770 --> 00:01:33.810
Palikat, jossa me luodaan.

26
00:01:33.810 --> 00:01:38.910
Sori mä laitan tuosta tuon suomalaisen päälle
eli meillä on pääohjelman täällä palikat luokassa

27
00:01:38.910 --> 00:01:44.490
jossa tehdään tää liikuteltava pelaaja olio
ja sitten tehdään useita tämmöisiä värikkäitä

28
00:01:44.490 --> 00:01:50.930
palikoita siellä sitten meillä on palikkaluokka
joka käsittää tai jolloin ominaisuutena värit

29
00:01:50.930 --> 00:01:54.340
ja sitten se voi ottaa vastaan niitä osumia
jonka kautta sitten me pystytään hallitsemaan

30
00:01:54.340 --> 00:01:59.990
sitä, että mikä väri meillä on milläkin kertaa
menossa ja sitten mä peritään siitä palikkaluokasta

31
00:01:59.990 --> 00:02:03.510
vielä tämmöinen niin sanottu fancy palikka jolla
on semmoinen erityinen ominaisuus tai erityinen

32
00:02:03.510 --> 00:02:05.570
toiminto oikeastaan.

33
00:02:05.570 --> 00:02:08.710
Että se voi tuhoutua silleen kivasti,
mutta lähdetään nyt yksi kerrallaan tätä

34
00:02:08.710 --> 00:02:13.290
asiaa asiaa liikuttelemaan eteenpäin
ja tehdään helpommasta alkaen.

35
00:02:13.290 --> 00:02:18.420
Eli tehdään siinä nyt ensinnäkin vähän
vähän mielenkiintoisempi tuosta pelialueesta.

36
00:02:18.420 --> 00:02:22.430
Mulla oli tuossa nyt vähän valmista koodia,
niin mä sitä tuohon lopusta eli muutetaan

37
00:02:22.430 --> 00:02:25.730
pelialueen kokoa ja lisäksi
laitetaan toi ikkunan koko suureksi.

38
00:02:25.730 --> 00:02:27.590
Näähän on jypissä.

39
00:02:27.590 --> 00:02:30.160
Oletuksena on varmaan historiallisista
syistä suhteellisen pieniä nää

40
00:02:30.160 --> 00:02:34.880
pelialue ja ikkunan kokoa, mutta mä
laitan nyt ne tolleen että ne on ikään

41
00:02:34.880 --> 00:02:37.410
kuin täsmää tommoiseen
full HD kokoiseen näyttö.

42
00:02:37.410 --> 00:02:41.130
Resoluutioon ja kun mä sen
tuosta nyt laitan päälle.

43
00:02:41.130 --> 00:02:46.650
Niin se jaha eipä se näköjään nyt mennytkään
kuitenkaan isommaksi set windows saisi.

44
00:02:46.650 --> 00:02:48.550
Mitäs mä nyt että tein väärin?

45
00:02:48.550 --> 00:02:54.400
Tässä tarkistetaan tilanne.
Joo OK.

46
00:02:54.400 --> 00:02:59.230
Kun me ollaan kuitenkin oikea, että joo
mulla oli varmaan väärä tiedosto tuolla auki.

47
00:02:59.230 --> 00:03:04.570
Ei kun hetkinen.
Mä jostain syystä on tullut.

48
00:03:04.570 --> 00:03:07.030
Tullut tämmöisiä konflikteja
tai varmaan johtuu nyt siitä

49
00:03:07.030 --> 00:03:11.370
niin, että mä teen tätä mun projektiani.

50
00:03:11.370 --> 00:03:15.370
Onedrive mikä ei nyt taida
olla kovin hyvä ajatus.

51
00:03:15.370 --> 00:03:18.590
Niin siitä nyt varmaan johtuu niin,
että tää nyt vähän käkiistelee tässä

52
00:03:18.590 --> 00:03:21.030
että mikäs projekti mulla
nyt tässä onkaan menossa.

53
00:03:21.030 --> 00:03:23.210
Voi hitsiläinen, pitääkö
mun tehdä uusi projekti?

54
00:03:23.210 --> 00:03:25.410
Ehkä mä teen uuden
projektin, niin ei ei ei jäädä

55
00:03:25.410 --> 00:03:33.720
tätä surkuttelemaan tässä pikku hetki.
Eli tähän se tuonne.

56
00:03:33.720 --> 00:03:38.110
Solutioniksi luento 12 ja
projektin nimeksi nyt palikat.

57
00:03:38.110 --> 00:03:42.540
Noin.
Joo, pahoittelut pieni.

58
00:03:42.540 --> 00:03:46.200
Tekninen kikkailu tässä mä oon
huomannut, että toi onedriven

59
00:03:46.200 --> 00:03:49.420
tekeminen ei ole välttämättä
hyvä ajatus, mutta.

60
00:03:49.420 --> 00:03:52.460
Se on tähän asti nyt kohtuullisesti
toiminut, mutta nyt näköjään siellä noita

61
00:03:52.460 --> 00:03:57.220
konflikteja alkaa herkästi puskemaan,
että en oikein tiedä mistä se johtuu, mutta

62
00:03:57.220 --> 00:04:01.380
hyvä siinä on meillä nyt asetettu tuo
pelialueen koko ja ikkunan koko sitten

63
00:04:01.380 --> 00:04:06.340
lisäksi mä asetan taustavärin tuossa
tämmöiseksi tummansiniseksi ja keskitan

64
00:04:06.340 --> 00:04:08.960
ikkunan myöskin sanomalla center windows.

65
00:04:08.960 --> 00:04:13.180
Jostain syystä toi ikkuna ainakin
tässä windowsissa tuppaa menemään

66
00:04:13.180 --> 00:04:19.580
ei keskelle ja vielä siellä joku ahdistus.
Niin palikat.

67
00:04:19.580 --> 00:04:25.450
Niin space luento 12 aamul
namespace oli varmaan eri täällä.

68
00:04:25.450 --> 00:04:29.950
Niin space luento 12
nyt se pitäisi täsmätä.

69
00:04:29.950 --> 00:04:36.040
Ehkä.
No niin.

70
00:04:36.040 --> 00:04:38.820
Pieniä käynnistymisvaikeuksia,
mutta nyt siihen saatiin,

71
00:04:38.820 --> 00:04:40.840
saatiin kivan värinen ruutu ja.

72
00:04:40.840 --> 00:04:43.280
Nyt se on tuossa keskellä
tota ikkunaa nätisti.

73
00:04:43.280 --> 00:04:45.420
Tää keskellä ruutua hyvä.

74
00:04:45.420 --> 00:04:49.130
No niin nyt sitten laitetaan
niitä asioita sinne.

75
00:04:49.130 --> 00:04:54.050
Oikeita olioita sinne ruutuun, eli mä teen
ensimmäisenä tuossa pelaaja olion laitetaan

76
00:04:54.050 --> 00:05:00.450
sille nyt vaikka kooksi 60 kertaa 60 ja
muodoksi ympyrä eli tätä olisi tarkoitus lähteä

77
00:05:00.450 --> 00:05:04.150
tässä liikuttelemaan ja nythän se ei ole mitään
muuta kuin valkoinen pallo siellä keskellä

78
00:05:04.150 --> 00:05:08.230
ruutua, mutta laitan sinne nyt ensimmäisenä
vaikka noi kontrollit ja mitenkäs näitä

79
00:05:08.230 --> 00:05:10.580
kontrolleja tässä jypissä lisätään.

80
00:05:10.580 --> 00:05:15.370
Niitähän tehtiin siinä bong
tutoriaalissa myöskin eli keyboard.

81
00:05:15.370 --> 00:05:21.270
Listen on aliohjelma kutsu jolla näitä
näppäin ja pystytään kytkemään erilaisiin

82
00:05:21.270 --> 00:05:23.840
tapahtumiin ja mä nyt
haluan ensimmäisenä vaikkapa.

83
00:05:23.840 --> 00:05:26.410
Näppäin niinku nuoli näppäin vasemmalle.

84
00:05:26.410 --> 00:05:32.260
Tässä siihen liittää jonkin toiminnon siten,
että koko ajan kun tää kyseinen painike on

85
00:05:32.260 --> 00:05:38.180
alaspainettuna, niin tapahtuu jotakin
ja mikä se on se mitä tapahtuu niin.

86
00:05:38.180 --> 00:05:42.720
Tota se voisi kutsua tällaista liikuta
nimistä aliohjelma sitä ei ole vielä

87
00:05:42.720 --> 00:05:46.620
olemassa, mutta mun pitää se
kohta kohta siihen valmiiksi tehdä.

88
00:05:46.620 --> 00:05:49.650
No nyt sitten tähän tulisi
tämmöinen ohjeteksti.

89
00:05:49.650 --> 00:05:55.740
Tää on niinkuipelin dokumentaatiosta löytyvä
asia niin että me lisätään tähän ohjetekstiä, joka

90
00:05:55.740 --> 00:06:00.620
sitten saadaan esille esille sieltä
tarvittaessa liikuta pelaajaa vasemmalle.

91
00:06:00.620 --> 00:06:04.380
Mä nyt lisään sen tuohon ja sitten mä
lisään tänne parinvalinnasta parametria.

92
00:06:04.380 --> 00:06:07.160
Nyt pahoittelut kun nää ikkunat
tässä tuppaa menemään vähän

93
00:06:07.160 --> 00:06:09.230
vähän ärsyttävästi
sekaisin mulla tänne kiinni.

94
00:06:09.230 --> 00:06:12.800
Tuosta esc painiketta painamalla, mutta
että pelaajaa me halutaan liikuttaa

95
00:06:12.800 --> 00:06:16.680
ja vasemmalle päin niin
mä lisään uuden vektorin.

96
00:06:16.680 --> 00:06:21.400
Uuden vektorin vasemmalle päin, jonka
avulla mä saan sitten tuolla myöhemmin

97
00:06:21.400 --> 00:06:24.580
toteuttamassa niin aliohjelmassa
liikutettua sitä sopivasti.

98
00:06:24.580 --> 00:06:28.980
Eli mä lisään tänne tämmöisen
vasemmalle suuntaan osoittavan vektorin

99
00:06:28.980 --> 00:06:34.200
eli x, nolla jaahas on muuten
oikealle itse asiassa tuo.

100
00:06:34.200 --> 00:06:36.980
Ei kun se on ylös.
Ne laitetaan ylös noin.

101
00:06:36.980 --> 00:06:39.230
Keep up.

102
00:06:39.230 --> 00:06:43.250
Noin eli nyt mulla on siellä
riittävät tiedot, jonka avulla mä saan

103
00:06:43.250 --> 00:06:47.750
pelaajaa sitten liikutettua eli
toteutan tän aliohjelman niin tän

104
00:06:47.750 --> 00:06:54.160
näppäimen kuuntelijan
ja sitä vastaavan tota.

105
00:06:54.160 --> 00:06:56.800
Kutsuttavan aliohjelman
toteuttamisesta, niin siitähän löytyy.

106
00:06:56.800 --> 00:07:00.070
Löytyy tosiaan siellä
konttorissa ohje ja sitten jypin.

107
00:07:00.070 --> 00:07:09.400
Dokumentaatiossa myöskin, niin en tässä
nyt hirveän tarkkaan tätä tätä käy läpi.

108
00:07:09.400 --> 00:07:11.480
Mutta joka tapauksessa 2 parametria.

109
00:07:11.480 --> 00:07:14.800
Mä oon siellä 2 argumenttia tuolla
keyboard listen kutsussa niin tarvitaan

110
00:07:14.800 --> 00:07:18.980
2 parametria tänne parametrin luetteloon
ensimmäinen niistä on toi liikuteltava

111
00:07:18.980 --> 00:07:22.890
olio ja toisena on
sitten suunta johon tätä.

112
00:07:22.890 --> 00:07:26.520
Oli, jota liikutellaan tai no oikeastaan
siinä on suunta ja nopeus, koska vektorin

113
00:07:26.520 --> 00:07:31.390
sisältää molemmat asiat ja nyt laitetaan
se liikuteltava olio liikkeelle käyttämällä

114
00:07:31.390 --> 00:07:35.340
ihan tota push metodia eli liikuteltava.
Push.

115
00:07:35.340 --> 00:07:37.500
Ja argumenttina sinne suuntaaja.

116
00:07:37.500 --> 00:07:41.220
Katsotaan että saadaanko me
tota ylöspäin nyt liikuteltua.

117
00:07:41.220 --> 00:07:44.480
Noin nyt se lähtee ylöspäin ja
se menee nyt tuosta vielä huti.

118
00:07:44.480 --> 00:07:51.300
Ehkä mä voisin sinne laittaa pelialueelle
myöskin reunat sanomalla level.

119
00:07:51.300 --> 00:07:56.130
Level.
Create boards noin ja; Sinne perään.

120
00:07:56.130 --> 00:08:00.700
Mä laitan nää pelialueen liittyvät asiat tänne
bikinin alkuun, sillä nyt ei periaatteessa

121
00:08:00.700 --> 00:08:07.880
ole väliä että missä kohtaa tota
koodia tuon bordersin siellä luo.

122
00:08:07.880 --> 00:08:09.680
Hyvä.

123
00:08:09.680 --> 00:08:12.260
Elikkä nyt ylöspäin näppäintä pitämällä pohjassa
niin se saadaan liikkumaan ylöspäin, mutta

124
00:08:12.260 --> 00:08:18.140
vasen oikea ja alas ei vielä toimi
niin lisätään ne nyt vastaavasti sinne.

125
00:08:18.140 --> 00:08:19.940
Ja nyt mä otan ajan voitto.

126
00:08:19.940 --> 00:08:23.340
Miksi tuosta vähän copypastea
eli kii down ja sitten

127
00:08:23.340 --> 00:08:30.370
left ja rait on ne suunnat jota tässä.
Kuunnellaan.

128
00:08:30.370 --> 00:08:34.780
Ja sitten tuolta on muuten ohjetekstiä.
Meni väärin eli ylös.

129
00:08:34.780 --> 00:08:41.960
Alas vasemmalle ja oikealle on nuo
suunnattu tossa ja sitten nää vektorit

130
00:08:41.960 --> 00:08:47.830
kuntoon eli -2000 osoittaa
alaspäin sitten left.

131
00:08:47.830 --> 00:08:53.570
Niin komponentti siellä on negatiivista
ja nolla ja oikealle osoittava

132
00:08:53.570 --> 00:08:58.020
vektori voisi olla sitten
sellaista että on.

133
00:08:58.020 --> 00:09:03.140
Reilusti positiivista ja nolla
hyvä elikkä nyt tämmöinen perus

134
00:09:03.140 --> 00:09:07.850
liikkuminen pitäisi olla
mahdollista tässä ja.

135
00:09:07.850 --> 00:09:12.330
Näinhän se näinhän se näyttäisi olevan.

136
00:09:12.330 --> 00:09:16.250
Ja suurin piirtein tämän tapaista
varmaan se näppäimistöjen kuuntelu

137
00:09:16.250 --> 00:09:19.350
tai näppäimistön kuuntelu
on melkeinpä missä tahansa.

138
00:09:19.350 --> 00:09:24.650
Tällaisessa tavallaan peliohjelmointiin
keskittyvässä kirjastossa.

139
00:09:24.650 --> 00:09:29.870
Toki tässä jypelissä tämä näiden valinnaisten
parametrien liittäminen tänne kutsun

140
00:09:29.870 --> 00:09:33.490
perään on ehkä tavallaan semmoista
aika hypellä spesifiä asiaa.

141
00:09:33.490 --> 00:09:39.070
Ehkä tyypillisempää on se, että näissä
peliohjelmointi kirjastoissa on joku erillinen.

142
00:09:39.070 --> 00:09:44.150
Aliohjelma jossa sitten kysellään että
onko jokin näppäin painettu eli if keep.

143
00:09:44.150 --> 00:09:50.170
Down expressed tai jotain vastaavaa ja sitten
vastaavasti ifk eeppisten espresso deep down ja

144
00:09:50.170 --> 00:09:55.720
niin edelleen joudutaan tekemään semmoista
hifistelyä aika paljon, mutta että tässä jypissä se

145
00:09:55.720 --> 00:10:01.450
on tehty ja toteutettu näin että ei tarvita
mitäänfeja vaan me voidaan siihen näppäimen kuuntelijan

146
00:10:01.450 --> 00:10:06.750
kytkeä suoraan ne argumentit joita me halutaan
halutaan tähän näppäin Kuuntele valittaa niin

147
00:10:06.750 --> 00:10:10.250
mun mielestä tää on aika
aika nätti tapa toimia, mutta.

148
00:10:10.250 --> 00:10:15.100
Ei toki maailman ainoa
ainoa tyyliä tapa ja.

149
00:10:15.100 --> 00:10:16.900
OK elikkä siinä.

150
00:10:16.900 --> 00:10:19.630
Meillä on liikutus nyt valmiina
ja sitten sitten tehdään

151
00:10:19.630 --> 00:10:22.190
siihen nyt vähän vähän niinku jotakin.

152
00:10:22.190 --> 00:10:25.150
Oikeasti oikeasti mielenkiintoista.

153
00:10:25.150 --> 00:10:28.520
Eli eli lähdetään laittamaan sinne
niitä palikoita ja me voitaisiin

154
00:10:28.520 --> 00:10:30.350
nyt tehdä tehdä nyt
aluksi vaikka yksi palikka.

155
00:10:30.350 --> 00:10:34.880
Se voisi olla fysiikka olio.
Nimeltään palikka.

156
00:10:34.880 --> 00:10:38.780
Joka on uusi fysiikka olija,
laitan sille kooksi vaikka 50 50.

157
00:10:38.780 --> 00:10:43.960
Lisätään se peli ruutuun
ja toki se tulee nyt siihen.

158
00:10:43.960 --> 00:10:46.140
Siihen varmaan siihen me
pelaajan päälle, mutta katsotaan

159
00:10:46.140 --> 00:10:48.930
että saadaanko se siitä liikkeelle.

160
00:10:48.930 --> 00:10:53.630
Noin elikkä nyt me voidaan sitä tökkiä
ja nyt tietysti se tavoite mulla oli.

161
00:10:53.630 --> 00:10:56.150
Tässä se niin, että me voitaisiin
tehdä näistä palikoista sellaisia,

162
00:10:56.150 --> 00:11:00.930
että niiden väri vaihtuu, että nää
voisi nyt tavallaan ilmentää siinä

163
00:11:00.930 --> 00:11:03.910
vaikka sun omassa pelissäni
jotain elämäpisteitä.

164
00:11:03.910 --> 00:11:09.410
Jos sulla on joku joku semmoinen asia
johon jota pitää vaikka tökkiä monta kertaa

165
00:11:09.410 --> 00:11:15.060
tai johon pitää heittää jotain kukkia
monta kertaa tai ampua tai vastaavaa yleensä

166
00:11:15.060 --> 00:11:18.570
peleissä jonkunlaisia elämäpisteitä
on jotain yritetään säilyttää

167
00:11:18.570 --> 00:11:20.710
ja tässä nyt vastaavasti
sitten näillä palikoilla.

168
00:11:20.710 --> 00:11:22.880
Voisi olla elämistä, joita yritetään.

169
00:11:22.880 --> 00:11:26.770
Yritetään sillä pelaajalla
saada menemään ja.

170
00:11:26.770 --> 00:11:31.250
Se ensimmäinen ajatus voisi
olla esimerkiksi seuraavanlainen.

171
00:11:31.250 --> 00:11:34.530
Lisätään tälle paikalle.

172
00:11:34.530 --> 00:11:39.330
Tämmöinen collision handler eli
törmäysten kuuntelija, mikä tarkoittaa

173
00:11:39.330 --> 00:11:43.680
sitä, että kun jokin osuu tähän paikkaan.

174
00:11:43.680 --> 00:11:52.490
Niin tapahtuu jokin asia ja
mikä se asia voisi olla niin?

175
00:11:52.490 --> 00:11:56.110
Se voi olla.
Aliohjelma kutsu.

176
00:11:56.110 --> 00:12:00.840
Eli tämä lause tässä tarkoittaa sitä,
että mitä tahansa kappale törmäämään

177
00:12:00.840 --> 00:12:04.610
tähän nimeen juuri äsken tekemäämme
paikkaan, niin aina silloin kutsutaan

178
00:12:04.610 --> 00:12:06.800
tämmöistä aliohjelma
nimeltä törmättiin paikkaan.

179
00:12:06.800 --> 00:12:13.940
Sitä ei ole vielä olemassa, jotenka
te toteutetaan se seuraavaksi.

180
00:12:13.940 --> 00:12:17.110
Mä teen tästä kontrollista tämmöisen
regionin kun nää häiritsee vähän

181
00:12:17.110 --> 00:12:19.580
tosi paljon kun ne on tässä
tiellä, niin mä saan nyt

182
00:12:19.580 --> 00:12:22.200
ne. Ja tuonne tolleen kivasti piiloon.

183
00:12:22.200 --> 00:12:24.160
Itse asiassa menkööt nuo.

184
00:12:24.160 --> 00:12:26.500
Nuo kaksikin riviä
vielä sinne sisään noin.

185
00:12:26.500 --> 00:12:30.180
Nyt me saadaan nää piiloon hyvä,
eli me päästään nyt toteuttamaan.

186
00:12:30.180 --> 00:12:33.860
Tää törmättiin palikkaa ole ohjelmaa
ja siellä jypin ohjeessa löytyy.

187
00:12:33.860 --> 00:12:37.740
Löytyy tuota dokumentaatio
siihen, että mitä tässä

188
00:12:37.740 --> 00:12:39.580
tarkoittaa ja miten se pitää toteuttaa.

189
00:12:39.580 --> 00:12:42.740
Mä lisään sen luennon jälkeen niin
tähän tähän url osoitteen tähän

190
00:12:42.740 --> 00:12:46.490
perään, että mistä se
ohje siihen siihen löytyy.

191
00:12:46.490 --> 00:12:49.210
Jälleen kerran siellä.

192
00:12:49.210 --> 00:12:53.930
Bongi ohjeissa tehtiin sama homma
myöskin eli törmättiin paikkaan.

193
00:12:53.930 --> 00:12:58.930
On aliohjelman nimi tää törmäysten
käsittelijä on tämmöinen void tyyppinen.

194
00:12:58.930 --> 00:13:01.940
Se ei palauta mitään arvoa,
mutta se tarvitsee 2 parametria

195
00:13:01.940 --> 00:13:04.930
ja ne ovat törmää ja ja
kohde mihin törmätään.

196
00:13:04.930 --> 00:13:10.620
Nää molemmat on
fysiikkaolijoita eli törmää ja.

197
00:13:10.620 --> 00:13:12.650
Ja kohde.

198
00:13:12.650 --> 00:13:16.490
Ja nyt mä tarkoituksella nimeä nää
kuuntelijan aliohjelman parametrit

199
00:13:16.490 --> 00:13:19.210
tällä tavalla, että meillä on normaalia
ja kohden me emme periaatteessa

200
00:13:19.210 --> 00:13:21.230
tiedä sitä, että kuka se törmää ja on.

201
00:13:21.230 --> 00:13:25.410
Tällä kertaa se nyt on tää meidän
yksi tietty palikka, mutta josta tästä

202
00:13:25.410 --> 00:13:28.790
aliohjelma tulisi monikäyttöisempi,
niin mä en ole tarkoituksellisesti nimeä

203
00:13:28.790 --> 00:13:32.590
nää tälleen vähän niinku geneerisesti
niin että että ne ovat ikään kuin mikä

204
00:13:32.590 --> 00:13:35.710
tahansa törmää ja ja mikä tahansa kohde.

205
00:13:35.710 --> 00:13:39.070
Tää tulee havainnollisemmaksi
tuossa myöhemmin.

206
00:13:39.070 --> 00:13:41.500
Hyvä, mutta nyt se ensimmäinen
ajatus voisi olla niin, että

207
00:13:41.500 --> 00:13:46.500
OK jos se pelaa ja
törmää siihen värikkään.

208
00:13:46.500 --> 00:13:52.390
Niin muutetaan se väriä ja ja ja nyt mä heti
sanon tässä näin, että tää on niinku pedagogisesti

209
00:13:52.390 --> 00:13:56.150
haasteellinen tilanne, koska nyt mä joudun
näyttämään ikään kuin vähän sen vaarantavan

210
00:13:56.150 --> 00:14:00.670
ensin ja sitten mennä siihen oikeaan siihen
parempaan tapaan, joka on se mielekkäämpi

211
00:14:00.670 --> 00:14:03.250
tapa tehdä asioita, sillä
olio ohjelmointi tyylillä.

212
00:14:03.250 --> 00:14:06.740
Mutta tää on nyt sallinette mulle
tämmöisen poikkeuksen, että että mä näytän

213
00:14:06.740 --> 00:14:11.010
tässä tässä ikään kuin se väärän tavan
elikkä korostan tässä nyt, että ei lähdetä

214
00:14:11.010 --> 00:14:15.650
oikeasti tekemään näin, mutta jotta nyt
päästään niinku alkuun tässä hommassa

215
00:14:15.650 --> 00:14:18.410
ja mä nyt kuitenkin kuitenkin sen näytän.

216
00:14:18.410 --> 00:14:23.440
Eli nyt me voitaisiin kysyä siltä
kohteelta, että onko sen väri.

217
00:14:23.440 --> 00:14:27.640
Väri joku leikitään nyt että se olisi vaikka no OK.
Me ei annettu sille mitään väriä.

218
00:14:27.640 --> 00:14:29.800
Täällä sanotaan että se voisi olla vaikka.

219
00:14:29.800 --> 00:14:32.740
Vaikka punainen tai sen verran
korjaan tätä mun aikaisempaa

220
00:14:32.740 --> 00:14:35.740
koodia että laitan se
laitan se punaiseksi noin.

221
00:14:35.740 --> 00:14:38.260
Eli nyt meillä on punainen
palikka siinä ja sitten kysytään

222
00:14:38.260 --> 00:14:42.880
että onko se kohteen
väripunainen ja jos on.

223
00:14:42.880 --> 00:14:46.450
Niin värjätään se kohde vaikka.

224
00:14:46.450 --> 00:14:50.390
Keltaiseksi sanotaan, että mennään
nyt liikennevalo värejä tässä läpi.

225
00:14:50.390 --> 00:14:54.590
Te punainen keltainen vihreä
sitten tuhotaan se OK no.

226
00:14:54.590 --> 00:14:56.780
Katsotaan miten käy.

227
00:14:56.780 --> 00:14:59.800
Eli nytten, mikäli kyseinen
palikka on punainen, niin sitten sen

228
00:14:59.800 --> 00:15:03.410
törmäyksen yhteydessä
pitäisi muuttua keltaisiksi.

229
00:15:03.410 --> 00:15:07.370
No eipä epa.
Eipä muuttunut.

230
00:15:07.370 --> 00:15:12.490
Katsotaan mitä mä tein väärin.
Fyysisessä object.

231
00:15:12.490 --> 00:15:21.110
Kohde.
Aa joo elikkä nyt että tämä.

232
00:15:21.110 --> 00:15:24.230
Nytten tämä itse asiassa
tällä tavalla kirjoitettuna.

233
00:15:24.230 --> 00:15:26.030
Nytten tää palikka onkin.

234
00:15:26.030 --> 00:15:29.490
Itse asiassa se törmää, elikkä tehdäänpäs
näin että laitetaan pelaamaan ja, palikka,

235
00:15:29.490 --> 00:15:34.090
törmättiin palikkaa nyt tällä tavalla
kirjoitettuna, niin meillä on määriteltynä törmää

236
00:15:34.090 --> 00:15:37.160
ja ja sitten jälkimmäinen
näistä argumenteista on kohde.

237
00:15:37.160 --> 00:15:42.020
Joo, elikkä tässä pelissä voi tehdä monenlaisia
törmäys käsittelijöitä, mutta näin kirjoitettuna

238
00:15:42.020 --> 00:15:46.710
niin ensimmäinen argumentti tarkoittaa
törmäämään jälkimmäinen kohdetta.

239
00:15:46.710 --> 00:15:49.800
Joo, pahoittelut pieni pieni sekoilu
elikkä nytten nyt meillä pitäisi

240
00:15:49.800 --> 00:15:52.870
olla molemmat sekä
törmäillä että kohde siellä.

241
00:15:52.870 --> 00:15:58.570
Tiedossa ja nyt se heti siitä värjäytyi kun
kun tota ne syntyy päällekkäin, mutta laitetaan

242
00:15:58.570 --> 00:16:02.710
nyt vaikka vähän eri kohtaan niin
emme sitten välittömästi törmää.

243
00:16:02.710 --> 00:16:04.790
Siihen laitetaan sille palikka.

244
00:16:04.790 --> 00:16:06.710
Position ominaisuuden arvoksi.

245
00:16:06.710 --> 00:16:10.790
Jokin satunnainen sijainti
tuolta pelialueelta eli random.

246
00:16:10.790 --> 00:16:15.330
Next vector ja annetaan next
sektorille argumentin arvoksi level.

247
00:16:15.330 --> 00:16:19.890
Counting boarding react tätä
katsottiin jossain aikaisemmalla

248
00:16:19.890 --> 00:16:22.350
luennolla, että tämä on
tapa millä me saadaan.

249
00:16:22.350 --> 00:16:24.790
Peli oli jo synnytettyä
sinne pelialueelle.

250
00:16:24.790 --> 00:16:28.540
Mihin tahansa niin niin niin
satunnaiseen kohtaan ja nyt meillä

251
00:16:28.540 --> 00:16:30.810
pitäisi sen olla oikeasti
vähän eri paikoissa noin.

252
00:16:30.810 --> 00:16:33.420
Eli nyt se palikka on punainen
siellä, mutta kun me törmätään niin

253
00:16:33.420 --> 00:16:36.890
muuttuu keltaiseksi, mutta sitten
se ei enää muutukaan mihinkään

254
00:16:36.890 --> 00:16:40.010
ja niinpä me tarvittaisiin
tässä lisää näitä.

255
00:16:40.010 --> 00:16:43.810
Ehto lauseita eli tutkia sitten
sitä tavallaan että että OK no

256
00:16:43.810 --> 00:16:48.030
jos ei se olekaan punainen,
niin onko se sitten?

257
00:16:48.030 --> 00:16:51.800
Onko se sitten tota noin niin keltainen?

258
00:16:51.800 --> 00:16:54.500
Ja jos tää on totta niin
sitten voitaisiin vaihtaa sen

259
00:16:54.500 --> 00:16:58.340
väriä taas niin niin tota vihreäksi.
Eikö vaan?

260
00:16:58.340 --> 00:17:03.880
Siihenhän me haluttiin se
seuraavaksi colorpiste noin ja tehdään

261
00:17:03.880 --> 00:17:08.420
saman tien, että jos ei
se nyt olekaan sitten.

262
00:17:08.420 --> 00:17:12.210
Se keltainen.
Vaan se on vihreä kohde.

263
00:17:12.210 --> 00:17:14.010
Color.

264
00:17:14.010 --> 00:17:19.040
On colorpiste green niin sitten se voisi olla
se tilanne missä me vaikka heitetään se kokonaan

265
00:17:19.040 --> 00:17:24.450
pois sieltä pelialueelta eli kohdepiste
destroy näin eli nyt meillä on siinä.

266
00:17:24.450 --> 00:17:28.830
3 iffia punainen, keltainen ja
vihreä ja mikäli se on vihreä

267
00:17:28.830 --> 00:17:32.040
se palikka, niin sitten
lopuksi tuhotaan se.

268
00:17:32.040 --> 00:17:37.920
Katsotaan miten käy.

269
00:17:37.920 --> 00:17:42.550
OK muuttuu punaiseksi keltaiseksi
keltaisesta vihreäksi ja vihreästä tuhoutuu.

270
00:17:42.550 --> 00:17:44.490
Eli sinänsä ihan OK tilanne.

271
00:17:44.490 --> 00:17:47.660
Nyt me saadaan se sinne sinne tota.

272
00:17:47.660 --> 00:17:50.240
Ne värit vaihtuvat niinku
halutaankin ja nyt me voitaisiin tätä

273
00:17:50.240 --> 00:17:52.290
laajentaa siten, että
tehdään näitä palikoita.

274
00:17:52.290 --> 00:17:58.970
Lisää tehdään sinne vaikka 20 palikkaa.
Mä kopinasten nää.

275
00:17:58.970 --> 00:18:01.970
Nää koodit mitä mä tuossa tein
niin tuonne forsell mukaan sisään.

276
00:18:01.970 --> 00:18:06.610
Eli nyt meillä on siellä silmukka joka kiertää
20 kierrosta silmukan jokaisella kierroksella

277
00:18:06.610 --> 00:18:12.510
tehdään yksi palikka, heitetään se satunnaiseen
paikkaan ja lisätään pelialueelle ja huom nyt

278
00:18:12.510 --> 00:18:17.080
tärkeä havainto että jokaiselle paikalle myöskin
lisätään törmäys käsittelijä eli meillä on siellä

279
00:18:17.080 --> 00:18:21.880
20 kappaletta törmäys käsittelijöitä
mikä on sinänsä ihan OK.

280
00:18:21.880 --> 00:18:24.760
OK no nyt katsotaan sitten
miten käy elikkä jokainen palikka

281
00:18:24.760 --> 00:18:28.090
käyttäytyy omalla
tavallaan jokainen palikka.

282
00:18:28.090 --> 00:18:31.990
Vaihtaa väriään vuorollaan, kun me
siihen törmätään ja kaikki kaikki

283
00:18:31.990 --> 00:18:35.950
näyttää sinänsä ihan ookoolta,
mutta nyt tulisikin se tilanne, että

284
00:18:35.950 --> 00:18:38.230
että meillä on 20 palikkaa
tässä kyllä hienosti.

285
00:18:38.230 --> 00:18:42.540
Mutta miten jos me haluttaisiin tehdä 20.

286
00:18:42.540 --> 00:18:48.320
20 ympyrää sanotaan me
haluttaisi tehdä 20 ympyrää.

287
00:18:48.320 --> 00:18:51.960
Noin jotka höpsistä.

288
00:18:51.960 --> 00:18:55.800
On vaikka kaksikymmentäviisi kertaa
kaksikymmentäviisi kokoisia ja tosissaan

289
00:18:55.800 --> 00:19:01.420
shape circle muotoisia, mutta ne
eivät aloittaessaan punaisesta väristä

290
00:19:01.420 --> 00:19:06.010
vaan ne aloittaisivat
vaikka mustasta väristä ja.

291
00:19:06.010 --> 00:19:07.860
Laitetaan sinne color.

292
00:19:07.860 --> 00:19:13.950
Black ja ne eivät menisi niitä tietenkään
niitä liikennevalon värejä vaan vaan

293
00:19:13.950 --> 00:19:18.420
tota ne voisi mennä mustavalkoinen
ja sitten hävitä sen jälkeen.

294
00:19:18.420 --> 00:19:23.210
OK no nyt kun me katsotaan tätä niin tää on nyt
jo semmoisen hengästyttää hengästymistä aiheuttavan

295
00:19:23.210 --> 00:19:27.160
pituinen tämä koodi ja nyt jos me jouduttaisiin
vielä miettimään erikseen sitä, että OK, mitäs

296
00:19:27.160 --> 00:19:33.650
jos se ei olekaan punainen vaan se on musta,
niin me muutettaisiin sitten mustasta valkoiseen

297
00:19:33.650 --> 00:19:38.530
OK seuraava kysymys, mitäs jos meillä olisikin
toiveena tehdä vielä tällaisten ympyröiden

298
00:19:38.530 --> 00:19:44.510
lisäksi kolmiota, jotka menevät musta, vihreä,
valkoinen ja vasta sitten tuhoutuvat, niin

299
00:19:44.510 --> 00:19:49.110
tää menisi itse mahdottomaksi tämmöinen tilanne,
jossa me jouduttaisiin tutkimaan, että että

300
00:19:49.110 --> 00:19:51.280
että OK sen pitää olla musta.

301
00:19:51.280 --> 00:19:55.560
Ja muodoltaan kolmio, niin siinä
tilanteessa me muutettaisiin sitä, mitä

302
00:19:55.560 --> 00:19:58.060
mä sanoin äsken vihreäksi
ja sitten vasta valkoiseksi.

303
00:19:58.060 --> 00:20:00.980
Eli menisi aivan älyttömäksi
spagettikoiksi, eikä tästä

304
00:20:00.980 --> 00:20:03.280
tulisi loppujen lopuksi yhtään mitään.

305
00:20:03.280 --> 00:20:05.920
Ja nyt tähän ratkaisu
olisi oikeasti parempi.

306
00:20:05.920 --> 00:20:07.920
Se, että tämä.

307
00:20:07.920 --> 00:20:12.780
Muoto itsessään tietäisi sen oman
väriskaalansa oman väripalettiinsa se pystyisi

308
00:20:12.780 --> 00:20:19.230
hoitamaan sen tota värinvaihdoksen itse
ilman että tätä täällä peliluokan puolella

309
00:20:19.230 --> 00:20:22.950
tarvitsee sitä logiikkaa
ikään kuin pitää yllä.

310
00:20:22.950 --> 00:20:29.550
Niinpä se muoto itsessään tai tää
kappale pitäisi toisin sanoen tavalla.

311
00:20:29.550 --> 00:20:33.380
Omana ominaisuutena on omana ominaisuuden
arvona sen, että paitsi mikä mun

312
00:20:33.380 --> 00:20:37.390
väri on, mutta myöskin se, että mitkä
ne mun se väriskaala on tää väripaletti

313
00:20:37.390 --> 00:20:42.100
joita pitää noudattaa
siinä kun törmäys tapahtuu.

314
00:20:42.100 --> 00:20:46.580
Ja lähdetään tätä nyt sitten muuttamaan
muuttamaan siihen suuntaan, että se palikka

315
00:20:46.580 --> 00:20:52.420
itse tietäisi sen oman väri väriskaalan
ja lähdetään nyt tästä liikkeelle niin että

316
00:20:52.420 --> 00:20:57.480
toivotaan niin, että meillä voisi olla
semmoinen luokka tai tyyppi kuin palikka

317
00:20:57.480 --> 00:21:01.920
jolla me voidaan sanoa
että OK olet 50 kokoinen.

318
00:21:01.920 --> 00:21:08.790
Ja ja ja muuten muuten niinku kaikki
kaikki tavallaan kuten kuten ennenkin.

319
00:21:08.790 --> 00:21:12.640
No nytten visuaalisuus anteeksi raideri
valintaa tässä nyt tämmöistä palikkatyyppiä ei

320
00:21:12.640 --> 00:21:16.870
ole olemassa, joten kuten eilenkin niin
lisätään tämmöinen palkkaluokka tänne eli add

321
00:21:16.870 --> 00:21:21.740
new class ja annetaan sille nimeksi
palikka joka sitten peritään.

322
00:21:21.740 --> 00:21:26.200
Fysiikka oliosta eli me halutaan
totta kai näistä palikoista tehdä siinä

323
00:21:26.200 --> 00:21:28.850
mielessä samanlaisia kuin noista
muistakin fysiikka olleista, mutta niillä

324
00:21:28.850 --> 00:21:32.980
on hieman enemmän ominaisuuksia ja
ne osaavat ikään kuin hieman enemmän

325
00:21:32.980 --> 00:21:36.460
kuin mitä tommoinen
perus fysiikka oli jo osa.

326
00:21:36.460 --> 00:21:39.210
Ja.

327
00:21:39.210 --> 00:21:43.590
Ensimmäisenä me tarvitaan tähän
konstruktioriin, eli se rakentaja, jolla näitä

328
00:21:43.590 --> 00:21:47.470
palikoita tehdään ja nyt näissä
fysiikkaolijoiden tapauksessa on semmoinen

329
00:21:47.470 --> 00:21:51.660
huomio, että se tarvitsee
aina leveyden ja korkeuden.

330
00:21:51.660 --> 00:21:53.970
Jotenka tehdään tälle palikanllekin.

331
00:21:53.970 --> 00:21:57.170
Nyt sellainen konstruktiori.

332
00:21:57.170 --> 00:22:02.490
Joka ottaa vastaan leveyden ja
korkeuden ja nämä leveys ja korkeus

333
00:22:02.490 --> 00:22:05.090
valitetaan sinne
kantaluokan konstruktiorille.

334
00:22:05.090 --> 00:22:09.990
Eli nytten tää on nyt semmoista syntaksia
mitä ei oikeasti teidän tarvitse osata.

335
00:22:09.990 --> 00:22:11.940
Mutta tää liittyy tähän.

336
00:22:11.940 --> 00:22:16.620
Tähän perintään syntaksin, että kun
me peritään se fysiikka olio, niin me

337
00:22:16.620 --> 00:22:20.230
välitetään ne saadut leveys ja
korkeus tuonne kantaluokalla.

338
00:22:20.230 --> 00:22:22.140
Elikkä sinne fysiikkaan
on konstruktiorille.

339
00:22:22.140 --> 00:22:25.340
Me voidaan itse asiassa tehdä niin,
että me klikataan tässä base sanan

340
00:22:25.340 --> 00:22:30.170
päällä näppäintä 12, jolloin me
päästään oikeasti tarkastelemaan myöskin

341
00:22:30.170 --> 00:22:33.340
sitä, että miten se
fysiikka olion käyttöönotto.

342
00:22:33.340 --> 00:22:36.420
Miten se fysiikka olon
kontrollointi siellä jypin puolella.

343
00:22:36.420 --> 00:22:39.430
Itse asiassa on tehty eli
sieltä löytyy tämmöinen.

344
00:22:39.430 --> 00:22:43.430
Sieltä löytyy tämmöinen konstruktiori kuin
fyysiset objektit nimeltään, joka ottaa

345
00:22:43.430 --> 00:22:48.760
vastaan leveyden ja korkeuden ja
sitten se vielä itse välittää ne tota.

346
00:22:48.760 --> 00:22:53.100
Toiselle konstruktioreille
sanomalla dish ja argumentteina vht

347
00:22:53.100 --> 00:22:56.360
ja red tangle eli tässä
näkyy niin, että tää.

348
00:22:56.360 --> 00:23:01.200
Suorakulmio on se oletusmuoto, joka sinne
toisenlaiselle konstruktioreille välitetään ja jos

349
00:23:01.200 --> 00:23:05.740
mä siinä vielä klikkaan yksi kerran f
12 niin mä pääsen tutkimaan että OK.

350
00:23:05.740 --> 00:23:08.120
Minkä näköinen sitten taas se konstruktio.

351
00:23:08.120 --> 00:23:10.120
No ei mennä nyt tämän syvemmälle.

352
00:23:10.120 --> 00:23:14.260
Tässä täältä löytyy sitten sitä jypin
lähdekoodia tarkemmin jos joku haluaa sitä tutkia,

353
00:23:14.260 --> 00:23:18.060
mutta me tehdään nyt tätä meidän palikka
struktuuria ja oikeastaan me voidaan tässä

354
00:23:18.060 --> 00:23:22.290
kohtaa jopa jopa laittaa tää
ohjelma ohjelma vaikka käyntiin.

355
00:23:22.290 --> 00:23:25.380
Tai no, itse asiassa se ei vielä vielä
mene ihan käyntiin, koska meidän pitää sanoa

356
00:23:25.380 --> 00:23:28.580
että nyy palikka sen sijaan että
me sanotaan nyt fyysisessä objekti.

357
00:23:28.580 --> 00:23:30.820
Ja nyt ollaan itse asiassa
siinä tilanteessa, että me

358
00:23:30.820 --> 00:23:33.310
voidaan jopa laittaa tää peli käynti.

359
00:23:33.310 --> 00:23:37.670
Ja tän pitäisi kaiketi
kääntyä, paitsi että se.

360
00:23:37.670 --> 00:23:39.790
Ei.
Käänny.

361
00:23:39.790 --> 00:23:44.450
Mikäs toi upper tuolla on?
Katsotaan.

362
00:23:44.450 --> 00:23:49.540
Tee mulle tommoinen sinne jäi.

363
00:23:49.540 --> 00:23:54.940
Se ei ainakaan kesken tuossa silmukka,
eli nyt se pitäisi varmaankin kääntyä.

364
00:23:54.940 --> 00:23:56.870
Katsotaan kääntyykö kyllä se kääntyy.

365
00:23:56.870 --> 00:23:59.960
Eli nyt mä periaatteessa pystyn
tätä pelaamaan kuten äskenkin.

366
00:23:59.960 --> 00:24:04.900
Nuo mustat ympyrät siellä nyt ei eivät vielä vaihda
väriä kun mä en tehnyt sitä ominaisuutta loppuun

367
00:24:04.900 --> 00:24:11.190
asti, mutta ainakaan nyt en kovin
pahasti nähtävästi rikkonut tätä koodia.

368
00:24:11.190 --> 00:24:16.630
Mutta nytten tosissaan niin ei lähdetä
tekemään tätä törmäys käsittelijää näin vaan

369
00:24:16.630 --> 00:24:21.630
lähdetään siitä ajatuksesta, että
se palikka tietää ne omat värinsä.

370
00:24:21.630 --> 00:24:27.210
Ja ja ja.
Lunttaan tuosta.

371
00:24:27.210 --> 00:24:29.060
Tuosta samalla elikkä pyyhitään.

372
00:24:29.060 --> 00:24:31.560
Nytten tämä tämä tämä koodi
täältä kerta kaikkiaan pois.

373
00:24:31.560 --> 00:24:35.350
Mä en ole tähän ollenkaan
ollenkaan tyytyväinen.

374
00:24:35.350 --> 00:24:39.470
Ja ja lähdetään miettimään asiaa sieltä.

375
00:24:39.470 --> 00:24:43.470
Palikka luokan tilan ylläpitämisen kautta.

376
00:24:43.470 --> 00:24:47.190
Eli palataan tänne näin tänne
palkkaluokan toteutukseen ja katsotaan

377
00:24:47.190 --> 00:24:52.160
mitä me voitaisiin asialle täällä tehdä.

378
00:24:52.160 --> 00:24:56.290
Mun toive olisi oikeastaan
sellainen niin että tää.

379
00:24:56.290 --> 00:24:58.300
Palikkaa konstruktiori.

380
00:24:58.300 --> 00:25:01.470
En mä itse asiassa vielä palaan tuonne
peliluokan puolelle, elikkä tää palikka

381
00:25:01.470 --> 00:25:07.130
konstruktiori voisi olla sellainen, että
mä voin sinne valittaa sen tiedon niistä

382
00:25:07.130 --> 00:25:13.250
väreistä ja lähdetään nytten luomaan
sitä väriä kokoelmaa ja mä nyt teen tänne

383
00:25:13.250 --> 00:25:17.430
tällaisen taulukon väreistä
joka pitää sisällään ne.

384
00:25:17.430 --> 00:25:21.930
Liikennevalon värit.

385
00:25:21.930 --> 00:25:25.140
Näin elikkä tää on ihan
ihan tavallinen taulukko.

386
00:25:25.140 --> 00:25:27.550
Ja mä annan sinne arvoksi
nyt 3 kappaletta värejä.

387
00:25:27.550 --> 00:25:31.660
Me ollaan tähän mennessä tehty string
taulukoita taulukoita, double taulukoita

388
00:25:31.660 --> 00:25:34.740
ja kaikenlaisia taulukoita, mutta nää
paritalot niitä ei ole vielä tehty,

389
00:25:34.740 --> 00:25:36.980
mutta näissä ei ole sinänsä
mitään sen kummempaa.

390
00:25:36.980 --> 00:25:41.780
Mä laitan vaan tyypiksi color taulukko eli
color häkään sille nimeksi värit ja sitten aalto

391
00:25:41.780 --> 00:25:45.950
sulkeiden sisäinen arvot mitä mä sinne värit
taulukkoon nyt haluan laittaa ja tässä tapauksessa

392
00:25:45.950 --> 00:25:51.740
siellä on 3 kappaletta ja nyt se mun toive
oli se että tää värit taulukko menisi sinne

393
00:25:51.740 --> 00:25:56.620
konstruktiorille tiedoksi eli tää palikka
itsessään tietäisi ja ottaisi vastaan sen tiedon

394
00:25:56.620 --> 00:25:59.200
että minkälaisia värejä sillä palikalla.
On hyvä.

395
00:25:59.200 --> 00:26:02.290
No nyt tulee valitusta siitä,
että välikangas tuo parameters

396
00:26:02.290 --> 00:26:05.160
plast isin wood with three argument.

397
00:26:05.160 --> 00:26:10.020
Eli tää on nyt ihan selvä asia että
se mun palkkaluokan konstruktio ottaa

398
00:26:10.020 --> 00:26:15.120
vastaan 2 parametria, mutta se
kolmas parametri eli ne värit.

399
00:26:15.120 --> 00:26:18.510
Täytyy ottaa myöskin vastaan,
eli lisätään tänne yksi

400
00:26:18.510 --> 00:26:20.530
parametri ihan niinku mihin tahansa.

401
00:26:20.530 --> 00:26:23.790
Aliohjelman muokatessamme
argumentteja tai argumenttien

402
00:26:23.790 --> 00:26:26.380
määrää niin sitten
pitää korjata myöskin se.

403
00:26:26.380 --> 00:26:29.760
Se tota parametrien lista siellä
toteutuksen puolella ja näin

404
00:26:29.760 --> 00:26:32.820
nyt on toimittu ja
periaatteessa nyt tää kääntyy.

405
00:26:32.820 --> 00:26:35.260
Mulla ei siellä probleemeja ole.

406
00:26:35.260 --> 00:26:38.680
Mä pidän tätä probleemeja täällä
yleensä kiinni kun tää vie valitettavasti

407
00:26:38.680 --> 00:26:40.970
tilaa tuosta näytöltä niin paljon.

408
00:26:40.970 --> 00:26:47.130
Mutta laitetaan tää käyntiin ja ja vielä
ei tapahdu mitään, mutta ei ainakaan

409
00:26:47.130 --> 00:26:51.260
mennyt nyt tota siis ohjelma kääntyy
mä saan sen käyntiin mutta tää ei

410
00:26:51.260 --> 00:26:53.450
tietenkään vielä nyt
tee sitä mitä halutaan.

411
00:26:53.450 --> 00:26:57.070
Eli nytten mun pitäisi miettiä sitä että OK
mulla on tiedossa nyt täällä palkkaluokassa

412
00:26:57.070 --> 00:27:01.620
täällä konstruktio tää väri muuttuu
mitä mä sillä itse asiassa teen.

413
00:27:01.620 --> 00:27:06.850
No nyt mä tarvin laittaa sen tänne mun
olion ominaisuuden arvoksi tän palikan

414
00:27:06.850 --> 00:27:12.650
ominaisuuden arvoksi ja nyt
mä luon tänne uuden muuttujan.

415
00:27:12.650 --> 00:27:14.510
Värit.

416
00:27:14.510 --> 00:27:18.950
Ja annetaan sille tota tyyppi ihan
niinku meille tahansa muuttujalle ja

417
00:27:18.950 --> 00:27:22.100
se nimi samaan tapaan kuin
eilen annettiin sille koiralle.

418
00:27:22.100 --> 00:27:28.430
Ominaisuus, rotu ja ominaisuus nimi niin
nyt tällä palikalla on ominaisuusvärit.

419
00:27:28.430 --> 00:27:32.550
Ja itse asiassa mä meen nyt tässä taas
asiassa millin verran eteenpäin, eli

420
00:27:32.550 --> 00:27:37.910
tää tulee olemaan tämmöinen yksityinen
muuttuja jota ei ole tarpeen sieltä

421
00:27:37.910 --> 00:27:40.710
muista luokista käydään niinku
suoraan kaapistatelemassa.

422
00:27:40.710 --> 00:27:45.550
Tää tarkoittaa siis sitä, että mä en sinne sieltä
peliluokan puolelta pääse jonkun yksittäisen

423
00:27:45.550 --> 00:27:48.650
palikan väreihin vaikuttamaan tavallaan
siihen spektriin mitä sillä on.

424
00:27:48.650 --> 00:27:52.400
Siis tässä tapauksessa nyt esimerkiksi se
punainen keltainen vihreä, niin mä en sieltä

425
00:27:52.400 --> 00:27:56.170
pelokasta valaise puukottamalla joita
vaihdetaanpa siksi kun ihan muuksi väri kokoelmaksi

426
00:27:56.170 --> 00:28:00.620
ei niin vaan sieltä peliluokan
puolelta olisi ainoastaan tarkoitus.

427
00:28:00.620 --> 00:28:02.680
Tavallaan päästä.

428
00:28:02.680 --> 00:28:06.480
Niinku sitä seuraavaa
väriä vaihtamaan, mutta ei.

429
00:28:06.480 --> 00:28:11.330
Tai tavallaan edistämään sitä, että mikä se väri
nyt tällä hetkellä on, mutta sitä värikokoelma

430
00:28:11.330 --> 00:28:15.420
sinänsä ei ole tarpeen päästä muuttamaan ja
sen takia mä teen tästä tämmöisen privaatti

431
00:28:15.420 --> 00:28:21.240
muuttujan privaattiluokka muuttujan joka nyky
CR suositusten mukaisesti kirjoitetaan tällä

432
00:28:21.240 --> 00:28:23.940
tavalla, että siellä on_
ja sitten pienen aakkosilla.

433
00:28:23.940 --> 00:28:30.100
Eli tää on yksityinen yksityinen
luokka muuttuja tai oli jo muuttuja.

434
00:28:30.100 --> 00:28:34.230
OK katsotaanpa nyt oikeita
termejä elikkä tää on yksityinen.

435
00:28:34.230 --> 00:28:37.850
Niin no se on yksityinen arja muuttuja
pitää ihan miettiä kun puhutaan

436
00:28:37.850 --> 00:28:41.110
englanniksi puhutaan
fields ja sitten puhutaan.

437
00:28:41.110 --> 00:28:45.580
Niinku tässäkin näkyy, raider sanoi että field
is never use niin tää englanninkielinen termi

438
00:28:45.580 --> 00:28:52.020
on tosiaan tyypillisimmin fead, mutta
suomeksi ehkä puhutaan olio muuttujista.

439
00:28:52.020 --> 00:28:56.800
Kirjoitetaan.
Nykyisillä sharp.

440
00:28:56.800 --> 00:29:00.380
Suosituksissa näin.

441
00:29:00.380 --> 00:29:05.660
OK mut nyt mä pitkä selitys, mutta että nyt
päästään siihen niin että että sijoitetaan nyt se

442
00:29:05.660 --> 00:29:10.400
parametrina saatu värit muuttujan sisältö
nyt sitten tänne ominaisuuden arvoksi.

443
00:29:10.400 --> 00:29:14.560
Hyvä nyt testataan onko onko
ohjelma vielä siinä tilassa että

444
00:29:14.560 --> 00:29:17.830
se kääntyy ja me ollaan
saan sen toimintaan.

445
00:29:17.830 --> 00:29:21.460
Näyttäisi olevan vielä mitkään värit
eivät vaihdu, mutta nyt me päästään

446
00:29:21.460 --> 00:29:25.800
tekemään sitten sitä
sitä vihdoin ja viimein.

447
00:29:25.800 --> 00:29:32.280
Eli palikkaluokassa on nyt periaatteessa datatiedosto,
jota jota sen värin vaihtamiseksi tarvitaan,

448
00:29:32.280 --> 00:29:36.380
mutta nyt me tarvitaan vielä
toiminnallisuus siihen, että miten se.

449
00:29:36.380 --> 00:29:39.000
Miten se tota väri
oikeasti saadaan muuttumaan?

450
00:29:39.000 --> 00:29:43.720
Eli nyt meillä on ad collision handler tehty
täällä pelaaja törmätessään puolikkaan kyllä

451
00:29:43.720 --> 00:29:48.530
kutsuu tätä tätä tota aliohjelma ja me
voidaan niinku katsoa niin että että kutsutaan

452
00:29:48.530 --> 00:29:51.140
tätä ihan oikeasti me voidaan
laittaa tänne message display.

453
00:29:51.140 --> 00:29:53.120
Ad.

454
00:29:53.120 --> 00:29:57.780
No laittaa joku pieni viesti niin että että
OKOK törmättiin ja ja ja nähdään niin että

455
00:29:57.780 --> 00:30:03.600
tämä aliohjelma sinänsä niin sitä
kutsutaan tuossa törmäyksen hetkellä.

456
00:30:03.600 --> 00:30:07.080
Eli periaatteessa meillä tällä hetkellä
se törmäystilanne siellä kuitenkin

457
00:30:07.080 --> 00:30:11.020
on on niinku toiminnassa, mutta nyt
meidän pitää vielä vielä saada se väri

458
00:30:11.020 --> 00:30:14.990
muuttumaan ja nyt kun tää ifi ratkaisu
ei ollut se toimiva ratkaisu, niin

459
00:30:14.990 --> 00:30:17.420
mitenkäs me nyt sitten
sitä väriä muutettaisiin?

460
00:30:17.420 --> 00:30:20.710
No nyt meillä on tiedossa
tää kohde olio täällä.

461
00:30:20.710 --> 00:30:25.030
Ja nyt meillä on toisaalta tiedossa myöskin
se, että sillä kohteella on niitä värejä.

462
00:30:25.030 --> 00:30:28.990
No, voitaisiinko me nyt sanoa jotenkin,
että se kohteen värit jotain jotain tähän

463
00:30:28.990 --> 00:30:32.330
liittyvää, niin tää ei ole nyt kuitenkaan
se toimiva ratkaisu, vaan meidän pitäisi

464
00:30:32.330 --> 00:30:36.890
oikeastaan tänne kohteille
pystyä sanomaan niin, että hei.

465
00:30:36.890 --> 00:30:39.420
Kun suvun törmätään niin.

466
00:30:39.420 --> 00:30:44.900
Toteuta tai ajaa sellainen
toiminnallisuus kun tota noin niin.

467
00:30:44.900 --> 00:30:50.380
Ota vastaan osuma eli nyt me esitetään
semmoinen toive niin että tällä kohdeolla

468
00:30:50.380 --> 00:30:55.270
oli se sellainen toiminto, jonka
avulla se voisi tuottaa ne toimenpiteet,

469
00:30:55.270 --> 00:30:58.780
jotka siihen osuman
vastaanottamiseen tarvitaan.

470
00:30:58.780 --> 00:31:05.580
Ja tän tän ajatus nyt olisi olla sen olion
toiminto olion metodi ihan niinku eilen tehtiin

471
00:31:05.580 --> 00:31:10.840
sille koiralle ja kissalle niitä äänelle metodeja
ja marsullekin niin niin nyt tämän palikka

472
00:31:10.840 --> 00:31:16.740
olion toiminnallisuus olisi tai metodi olisi
tällainen öötävästään osuma joka hoitaa sen värin

473
00:31:16.740 --> 00:31:20.990
vaihtamisen ja tehdäänpä se
nyt tänne palkkaluokan puolelle.

474
00:31:20.990 --> 00:31:26.640
Ja se olisi nyt tällainen,
joka ei palauta mitään arvoa.

475
00:31:26.640 --> 00:31:31.820
Eikä ota myöskään parametreja, vaan
ainoa tehtävä olisi vaihtaa väriä.

476
00:31:31.820 --> 00:31:38.430
No miten me voidaan vaihtaa väriä,
niin nyt meidän pitäisi sitä.

477
00:31:38.430 --> 00:31:41.830
Tän.
Olion väriä käyvä muuttamaan.

478
00:31:41.830 --> 00:31:43.630
No miksi?

479
00:31:43.630 --> 00:31:47.280
Miten me tiedetään se, että että mikä väri
menee nyt pitää sitten itse asiassa vaihtaa

480
00:31:47.280 --> 00:31:51.610
niin tää on nyt itse asiassa hyvä kysymys,
mutta mä teen nyt niin tässä jotta päästään

481
00:31:51.610 --> 00:31:56.280
asiassa pikkuisen eteenpäin, niin mä nyt
vaan kiinteästi heitän sieltä, että OK otetaan

482
00:31:56.280 --> 00:32:02.920
sieltä värit taulukosta ykköspaikasta oleva
alkio, joka nyt saattaa olla mitä vaan,

483
00:32:02.920 --> 00:32:05.140
mutta katsotaan miten tää toimii.

484
00:32:05.140 --> 00:32:07.890
No valitettavasti tää ei
vieläkäänny ja me tarvitaan nyt

485
00:32:07.890 --> 00:32:10.860
tähän tämmöinen pieni
tekninen jekku joka on.

486
00:32:10.860 --> 00:32:16.750
Pikkuisen semmoinen ikävän puoleinen,
mutta liittyy nyt tähän tapaan, jolla nää.

487
00:32:16.750 --> 00:32:23.550
Jypelin törmäys käsittelijät toimii eli nythän
tää meidän kohde olio täällä törmäyskäsittelyjassa

488
00:32:23.550 --> 00:32:26.320
on tyypiltään fysiikka
objekti ja fyysiset objektit.

489
00:32:26.320 --> 00:32:31.010
Tyypillä ei mitään ota vastaan osuma niin
mistä metodia tietenkään ole, se on tehty meillä

490
00:32:31.010 --> 00:32:37.680
siellä palkkaluokassa eli oikeasti tän kohteen
pitäisi olla palikka ja nyt me kiinnitetään

491
00:32:37.680 --> 00:32:42.340
sen kohteen tyyppi tällä tavalla täällä
parametrin listassa ja nyt tää meni vihreäksi eli

492
00:32:42.340 --> 00:32:46.390
nyt me voidaan täällä
törmättiin palikka nimisessä.

493
00:32:46.390 --> 00:32:52.400
Aliohjelma sitä oikeasti kutsua sitä kohdeolian
metodia asianmukaisella tavalla, mutta

494
00:32:52.400 --> 00:32:58.890
toinen murhe eli cannot resolve blaa blaa
blaa tosi vaikean tuntuinen virheilmoitus tulee

495
00:32:58.890 --> 00:33:02.710
riviltä neljäkymmentäkolme taas
päästä pois niin näkyy paremmin.

496
00:33:02.710 --> 00:33:08.990
Eli nytten jype ei tiedä että mitä
tässä tilanteessa pitäisi tehdä ja nytten

497
00:33:08.990 --> 00:33:14.570
joudun vaan ikään kuin toteamaan tässä
niin, että näiden törmäyskasittelijoiden

498
00:33:14.570 --> 00:33:17.850
tapauksessa silloin kun meillä
on itse tehty ja olijoita.

499
00:33:17.850 --> 00:33:21.940
Itse tehtyjä luokkia, niin
me joudutaan täällä sanomaan,

500
00:33:21.940 --> 00:33:27.240
että minkä tyyppisiä ovat nämä törmää ja.
Ja sitten se kohde olio.

501
00:33:27.240 --> 00:33:30.710
Mä kirjoitan ne tyypit
tämmöisten kulma sulkeiden väliin.

502
00:33:30.710 --> 00:33:32.750
Tää liittyy tän.

503
00:33:32.750 --> 00:33:37.130
Metodin geneerisyyteen eli
siihen niin, että me kiinnitetään

504
00:33:37.130 --> 00:33:39.610
tässä, että minkä tyyppisiä.

505
00:33:39.610 --> 00:33:42.620
Olijoita me tässä käsitellään ja
tää on ihan hieno ominaisuus, mutta

506
00:33:42.620 --> 00:33:45.510
me ei valitettavasti tällä kurssilla
päästä hirveästi paneutumaan

507
00:33:45.510 --> 00:33:48.390
tähän geneeriseen kovinkaan syvällisesti.

508
00:33:48.390 --> 00:33:51.790
Mutta mutta tota nyt teidän
joutuu niinku pikkuisen vaan niinku

509
00:33:51.790 --> 00:33:54.470
uskomaan niin että että
näin se näin se tehdään.

510
00:33:54.470 --> 00:33:56.790
Mä otan vielä tuon hetkeksi
tuosta pois pois, niin

511
00:33:56.790 --> 00:33:59.110
se ei aiheuta siellä virheilmoitusta.

512
00:33:59.110 --> 00:34:08.260
Tuo oli se jälkimmäinen jälkimmäinen tota.
Hetkinen?

513
00:34:08.260 --> 00:34:10.100
Ei kun tuo piti nimenomaan jättää.

514
00:34:10.100 --> 00:34:15.800
Mä taisin väärään väärään kohtaan tuonne
tuo piti ottaa sieltä tonne ja tämä

515
00:34:15.800 --> 00:34:19.040
ympyröiden collision hande
tätä hieman myöhäisemmäksi noin.

516
00:34:19.040 --> 00:34:22.800
Eli nyt meillä on tässä ne
suorakaiteen ja siellä on pelaajia.

517
00:34:22.800 --> 00:34:29.500
Palikka on argumentteina ja törmättiin
puolikkaan on on kutsuttava käsittelijä funktio.

518
00:34:29.500 --> 00:34:32.820
Ja käsittelijä funktio
ottaa vastaan 2 parametria.

519
00:34:32.820 --> 00:34:35.460
Ensimmäinen niistä on tosiaan
fysio object tyyppinen.

520
00:34:35.460 --> 00:34:40.540
Jälkimmäinen palikkatyyppinen ja sitten
se kohde oli ottaa vastaan osuman.

521
00:34:40.540 --> 00:34:46.300
Ja katsotaan että toimiiko tää vaiko, eikö?
Tota että toimii.

522
00:34:46.300 --> 00:34:50.820
Ja kyllä näyttäisi, että keltaiseksi se vaihtuu
ja nyt me saadaan kaikki oliot vaihdettua

523
00:34:50.820 --> 00:34:55.810
kyllä keltaiseksi, mutta myöhäisemmät
tai sitä pidemmälle näitä.

524
00:34:55.810 --> 00:34:57.850
Näitä törmäyksiä nyt ei saada.

525
00:34:57.850 --> 00:34:59.930
Valitettavasti tässä vietyä,
mutta näyttäisi siltä, että

526
00:34:59.930 --> 00:35:02.890
jotakin jotakin toimivaa
saatiin aikaiseksi.

527
00:35:02.890 --> 00:35:07.210
No, katsotaan vielä tätä palkkaluokan
toteutusta eli täällä me kiinteästi asetetaan se

528
00:35:07.210 --> 00:35:13.550
väri nytten siihen ykkösaamioon, mikä
se sitten ikinä sattuukaan olemaan.

529
00:35:13.550 --> 00:35:18.150
Ja tässä meidän tapauksessa se ykkösasia,
joka on asetettu täällä peliluokan puolella,

530
00:35:18.150 --> 00:35:23.610
on tietysti se keltainen, mutta tää ei ole
se oikea tapa toimia, vaan meillä pitäisi

531
00:35:23.610 --> 00:35:28.390
olla tieto täällä palkkaluokassa,
että kuinka monta osumaa.

532
00:35:28.390 --> 00:35:33.670
Tää onkaan ottanut vastaan, eli tehdään
vielä toinen ominaisuus tälle palikka

533
00:35:33.670 --> 00:35:38.200
oliolle, joka olisi tämmöinen,
että kuinka monta osumaa se.

534
00:35:38.200 --> 00:35:40.640
Kuinka monta osumaa se palikka on ottanut?

535
00:35:40.640 --> 00:35:44.590
Ja tietysti ihan alkutilanteessa se.

536
00:35:44.590 --> 00:35:47.770
Palikka ei ole ottanut yhtään ainutta
osumaa, niin alustetaan tuo sillä

537
00:35:47.770 --> 00:35:52.030
tavalla, että se tässä
konstruktioissa heitetään nolla.

538
00:35:52.030 --> 00:35:57.670
Ja tehdään vielä toinen lisäys tähän, että
myöskin se alkutilanteessa niin se väri

539
00:35:57.670 --> 00:36:02.190
väri on aivan se aivan se
ensimmäinen sieltä värit taulukosta.

540
00:36:02.190 --> 00:36:05.280
Sori mä menen nyt
kohtalaisen nopeasti tässä.

541
00:36:05.280 --> 00:36:08.640
Eli tota.
Kysykää.

542
00:36:08.640 --> 00:36:13.980
Kysykää vaikka siellä chatissa jos jos haluatte
johonkin asiaan johonkin asiaan tarkennusta,

543
00:36:13.980 --> 00:36:18.730
mutta että nyt täällä mun palikkaluokalla
on 2 privaattia ominaisuutta värit ja sitten

544
00:36:18.730 --> 00:36:24.520
osumat ja mä lisään
tuonne nyt dokumentaation.

545
00:36:24.520 --> 00:36:26.710
Eli laitetaan sinne summeri.

546
00:36:26.710 --> 00:36:31.330
Tagit tonne noin ja nää on nyt se.

547
00:36:31.330 --> 00:36:39.260
Olion väri kokoelma
tai värit. Ja.

548
00:36:39.260 --> 00:36:44.390
Tosiaan tää osumat nyt tarvitaan sen takia
tänne näin että me pystytään sitten loppujen

549
00:36:44.390 --> 00:36:50.050
lopuksi täällä ota vastaan osumakohdassa
muuttamaan sitä väriä sellaiseksi, että se ei

550
00:36:50.050 --> 00:36:56.410
ole mikään kiinteä ykkönen vaan
täsmälleen se osumat muuttujan.

551
00:36:56.410 --> 00:36:58.640
Osoittamaan arvo.

552
00:36:58.640 --> 00:37:00.880
Ja jos nyt laitetaan peli
käyntiin, katsotaan miten

553
00:37:00.880 --> 00:37:07.160
käy, saadaanko sieltä värejä vaihdettua.
No ei saada törmäys.

554
00:37:07.160 --> 00:37:08.960
Siellä tapahtuu.

555
00:37:08.960 --> 00:37:12.660
Törmättiin viestejä sinne vasempaan
ylänurkkaan tulee, mutta se osumat

556
00:37:12.660 --> 00:37:15.910
muuttujan arvo ei meillä
missään kohtaa vaihdu.

557
00:37:15.910 --> 00:37:21.810
Tää on aina nolla koska on vaihdeta ja niin
mä meidän pitäisi täällä ota vastaan osuma

558
00:37:21.810 --> 00:37:27.690
kohdassa sitten tietysti käydä sitä muuttamaan
eli osumat plus plus jotta sitten me saadaan

559
00:37:27.690 --> 00:37:32.240
sieltä väritaulukossa otettua
oikea väri kullakin osuma kerralla.

560
00:37:32.240 --> 00:37:34.300
Ja nyt sormet ristiin.

561
00:37:34.300 --> 00:37:37.680
Katsotaan, että punainen vaihtuu
keltaiseksi ja jee kyllä vaihtuu.

562
00:37:37.680 --> 00:37:39.500
Entäs tuolla sama homma?

563
00:37:39.500 --> 00:37:43.420
No entäs vaihtuuko tuolla se vihreäksi
kyllä vaihtuu eli nyt näyttäisi siltä

564
00:37:43.420 --> 00:37:47.800
niin että ollaan saavutettu se sama
toiminnallisuus kuin mitä niillä alkuperäisillä

565
00:37:47.800 --> 00:37:50.980
ifillä tehtiin, mutta
pikku problem eli system.

566
00:37:50.980 --> 00:37:56.860
Index of section ja nyt me emme
missään kohtaa tarkista, että yritämmekö

567
00:37:56.860 --> 00:38:01.360
me ottaa sieltä värittaulukossa
niinku asiallisesta kohdasta.

568
00:38:01.360 --> 00:38:03.160
Väriä vai ei?

569
00:38:03.160 --> 00:38:06.580
Eli katsotaanpas toi osumat
muuttujan arvo se näyttäisi olevan 3.

570
00:38:06.580 --> 00:38:10.680
Mutta meidän värit taulukon
pituus on on 3 eli siellä ei

571
00:38:10.680 --> 00:38:12.880
enää sitä paikkaa numero 3 ole olemassa.

572
00:38:12.880 --> 00:38:19.590
Meillä on paikat 0 1 2 meille ihan asiallisen
indeksit of concepción siinä ja niinpä

573
00:38:19.590 --> 00:38:24.950
meidän täytyy tutkia, että onko meillä
jäljellä enää niitä osumia eli onko osumat

574
00:38:24.950 --> 00:38:29.340
suurempaa tai yksi suurta kun se meidän
värit taulukon pituus ja mikäli on niin

575
00:38:29.340 --> 00:38:32.840
emmehän me tietenkään mitään väriä
voi muuttaa, vaan meidän pitää

576
00:38:32.840 --> 00:38:35.430
tuhota se palikka miten me
tehdään palikka tuhottua?

577
00:38:35.430 --> 00:38:37.620
No kaikkein yksinkertaisin
tapa on sanoa disc.

578
00:38:37.620 --> 00:38:42.150
Destroy eli sille oliolle itselleen
kutsua sitä destroy metodeita.

579
00:38:42.150 --> 00:38:47.440
Tähän ollaan tehty aikaisemminkin
kurssilla että että että että tota palikka.

580
00:38:47.440 --> 00:38:51.960
Destroy, niin sillä sillä saan se
fysiikka oli jo tuhottua sieltä.

581
00:38:51.960 --> 00:38:57.350
Ja ja tehdään näin ja mikäli kuitenkin
niitä osumia on siellä vielä jäljellä.

582
00:38:57.350 --> 00:39:00.680
Tai siis värit taulukossa on
pituutta jäljellä niin sitten sitä

583
00:39:00.680 --> 00:39:10.610
väriä vaihdetaan ja
katsotaan että toimiiko tämä.

584
00:39:10.610 --> 00:39:15.190
Ja hyvin näyttäisi värit vaihtuvan
ja nyt ne palikatkin sieltä tuhoutuu.

585
00:39:15.190 --> 00:39:17.350
No entäs nuo mustat palleroiset sieltä?

586
00:39:17.350 --> 00:39:20.640
No niillä ei ollut vielä sitä
törmäyskäsittelyä määritelty,

587
00:39:20.640 --> 00:39:23.170
niin voitaisiin lähteä
tekemään seuraavaksi.

588
00:39:23.170 --> 00:39:26.530
Eli nytten tässä vielä kaiken tämän
työn jälkeen niin ei saavutettu.

589
00:39:26.530 --> 00:39:31.370
Nyt periaatteessa mitään kovin kummallista
oltaisi se sama homma saatu niillä ifillä tehtyä,

590
00:39:31.370 --> 00:39:37.300
mutta nyt kun tää peli tästä laajenee ja
vaikeutuu tai monimutkaistuu, niin tulee tavallaan

591
00:39:37.300 --> 00:39:42.090
tän olio ajattelun huomattavat
edut myöskin myöskin esille.

592
00:39:42.090 --> 00:39:44.410
Eli lähdetään tälle ympyröille
tekemään nyt hieman eri

593
00:39:44.410 --> 00:39:47.330
värit eli tehdään niille nyt sitten.

594
00:39:47.330 --> 00:39:53.540
Vaikkapa nytten ne musta.
Musta ja valkoinen.

595
00:39:53.540 --> 00:39:58.700
Ja huomaat, että vain
2 väriä pitkää joukko.

596
00:39:58.700 --> 00:40:00.710
Ja sitten.

597
00:40:00.710 --> 00:40:03.910
En mä tiedä kun tää palikka niin me nyt
välttämättä ole hyvä nimi tälle luokalle kun jos

598
00:40:03.910 --> 00:40:08.030
meillä on ympyröitä niin eivät ne nyt ne
nyt oikeastaan ole palikoita, mutta laitetaan

599
00:40:08.030 --> 00:40:12.420
sinne nytten kolmanneksi argumentiksi värit
mä vähän suurena myöskin näitä ympyröitä niin

600
00:40:12.420 --> 00:40:15.910
näyttää paremmalta ja sitten
mun tarvitsee nyt täällä.

601
00:40:15.910 --> 00:40:22.010
Itse asiassa toi shape
muuttaa vielä erikseen.

602
00:40:22.010 --> 00:40:26.850
Noin ja katsotaan tää loppuosa
eli tuo colori tuosta pois

603
00:40:26.850 --> 00:40:29.460
koska se colorin tulee nytten sieltä.

604
00:40:29.460 --> 00:40:32.950
Väreistä sama homma muuten
täällä tuo colori on turha.

605
00:40:32.950 --> 00:40:37.020
Otetaan sekin pois ja nyt
tämä ad collision handler

606
00:40:37.020 --> 00:40:40.840
pitäisi periaatteessa olla kunnossa.

607
00:40:40.840 --> 00:40:45.710
Eli se näyttää samalta kuin tuo
ylempikin hyvä lisätään se pelialueelle

608
00:40:45.710 --> 00:40:54.140
ja katsotaan että toimiiko tää peli.

609
00:40:54.140 --> 00:40:56.700
Neliötä ainakin toimii kuten äskenkin.

610
00:40:56.700 --> 00:41:03.830
Entäs noi ympyrät näyttäisi toimivan
ja hyvältä vaikuttaa eli näin.

611
00:41:03.830 --> 00:41:07.600
Tota tekemällä niin meidän
ei tarvinnut tehdä tänne.

612
00:41:07.600 --> 00:41:12.890
Törmättiin palikkana oli ohjelmaa yhtään
mitään eli tää kohde tietää sen, että kuinka

613
00:41:12.890 --> 00:41:16.530
monta väriä sillä on ja se osaa
ottaa vastaan sen oman osumansa.

614
00:41:16.530 --> 00:41:20.590
Meidän ei tarvitse täällä peliluokan
puolella huolehtia siitä logiikasta, joka

615
00:41:20.590 --> 00:41:23.510
liittyy siihen kohteen värin
vaihtamiseen ja tuhoutumiseen.

616
00:41:23.510 --> 00:41:26.510
Ainoa mitä meidän tarvitsee täällä.

617
00:41:26.510 --> 00:41:29.630
Tehdä niin on on ikään kuin valittaa
sille olijoille viestiä, että hei,

618
00:41:29.630 --> 00:41:33.850
nyt sinun pitää ottaa vastaan osuma,
eli tää kohde olio tai palikkaoli jo

619
00:41:33.850 --> 00:41:37.730
kapseli sen oman tietonsa
siitä värin vaihtumisesta.

620
00:41:37.730 --> 00:41:41.760
Tai nyt ensinnäkin niiden värien määrästä
ja niistä väreistä itsestäni sitten siitä,

621
00:41:41.760 --> 00:41:46.530
että mitä tapahtuu siinä osuman
vastaanottamisen yhteydessä.

622
00:41:46.530 --> 00:41:49.240
Tää on tuo me siitosta
pois, niin sitä ei enää.

623
00:41:49.240 --> 00:41:56.080
Enää siinä myöskään tarvita.

624
00:41:56.080 --> 00:42:04.440
Nyt vilkaisen tuonne palkkaluokan puolelle,
että tuliko siinä nyt kaikki asiat tehtyä.

625
00:42:04.440 --> 00:42:08.780
Kyllä elikkä nytten.
Nytten tota.

626
00:42:08.780 --> 00:42:13.660
Me voidaan voidaan tehdä hyvin hyvin monenlaisia
kappaleita ja mulla oli siinä alkuperäisessä

627
00:42:13.660 --> 00:42:16.940
pelissä myöskin semmoisia kappaleita,
jotka ei liikkunut mihinkään.

628
00:42:16.940 --> 00:42:21.660
Ne eivät periaatteessa
ole mitään spesiaalia.

629
00:42:21.660 --> 00:42:26.040
Tehdään niistä nyt vaikka 100 kertaa 100
kokoisia ja laitetaan niille myöskin värit.

630
00:42:26.040 --> 00:42:32.720
Mä teen nyt vaihtelun vuoksi tässä suoraan
tässä konstruktio kutsussa sen värikokoelma eli

631
00:42:32.720 --> 00:42:39.940
new color taulukko, jolle annetaan
argumentiksi vaikka sanotaan nytten color.

632
00:42:39.940 --> 00:42:46.590
Akua ja color.
Joku kiva väri sieltä lavender.

633
00:42:46.590 --> 00:42:52.040
Laitetaan vielä muutama
muukin väri orange ja.

634
00:42:52.040 --> 00:42:56.540
Pink sillä olisi nytten spring
green olko semmoinen hyvä.

635
00:42:56.540 --> 00:43:01.420
Eli siellä on nyt taas eri määrä noita värejä
verrattuna noihin aikaisempiin palikoihin,

636
00:43:01.420 --> 00:43:06.180
mutta OK elikkä se on semmoinen liikkumaton
palikka ja miten tehdään liikkumaton palikka

637
00:43:06.180 --> 00:43:11.260
niin liikkumaton palikka tehdään
sillä tavalla, että asetetaan se.

638
00:43:11.260 --> 00:43:18.500
Äänettömälle massalle sanomalle make static
eli tää make static on nytten jypellin.

639
00:43:18.500 --> 00:43:22.100
Tapa tehdä oliosta liikkumaton
tai siis liity siihen public static

640
00:43:22.100 --> 00:43:26.430
yhtään mitenkään vaan tästä tää on
tapa tehdä kappale jolla ääretön

641
00:43:26.430 --> 00:43:31.480
massa ja se ei noudata noita painovoiman.
Sääntöjä.

642
00:43:31.480 --> 00:43:33.280
No samaan tapaan.

643
00:43:33.280 --> 00:43:36.260
Me tarvitaan sille myöskin toi
törmäyksen käsittelijä otetaan täältä.

644
00:43:36.260 --> 00:43:39.430
Nyt itse asiassa tuo positio
ja törmäyksen käsittelijä.

645
00:43:39.430 --> 00:43:42.350
Koodi copy paste meret sä
oot vähän häiritsee se että

646
00:43:42.350 --> 00:43:45.730
mä joudun tässä copypasteen näitä.

647
00:43:45.730 --> 00:43:49.270
Tekstiä me voitaisiin tehdä myöskin sellainen
törmäyskäsittely, että pelaaja törmätä

648
00:43:49.270 --> 00:43:54.670
saan mihin vaan niin tapahtuu toi,
mutta mä teen sen nyt kuitenkin näin.

649
00:43:54.670 --> 00:43:58.940
Ja katsotaan että OK joku
virhe sieltä tuli ympyrä.

650
00:43:58.940 --> 00:44:04.790
Tuo ne tarvitaan oikea muuttujan nimi.
Noin hyvä.

651
00:44:04.790 --> 00:44:07.080
Eli nyt meillä pitäisi olla siellä.

652
00:44:07.080 --> 00:44:11.820
5 kappaletta liikkumattomia,
joihin pystyy törmäämään ne vaihtaa

653
00:44:11.820 --> 00:44:17.060
muutaman kerran väriä
ja sitten häviää noin.

654
00:44:17.060 --> 00:44:19.230
Hieno.

655
00:44:19.230 --> 00:44:21.910
Eli vielä korostan sitä niin,
että ei tarvittu tänne peliluokan

656
00:44:21.910 --> 00:44:24.570
puolelle tehdä yhtään mitään muutoksia.

657
00:44:24.570 --> 00:44:28.990
Se varsinainen logiikka tapahtuu siellä
palkkaluokan puolella ja me voidaan

658
00:44:28.990 --> 00:44:33.950
tässä peliluokan puolella keskittyä tähän
ikään, kun jos tätä nyt käyttöliittymäksi

659
00:44:33.950 --> 00:44:37.380
voi kutsua, mutta joka tapauksessa tähän.

660
00:44:37.380 --> 00:44:42.200
Mielenkiintoisempaan osaan ja
tähän peliin varsinaiseen sisältöön.

661
00:44:42.200 --> 00:44:46.820
Ja tää on ehkä myöskin tämmöistä hyvin
alkeellista arkkitehtuuria ajattelua.

662
00:44:46.820 --> 00:44:53.260
Eli me erotetaan se, jos nyt voi datasta
puhua tai siitä dataamallista niin

663
00:44:53.260 --> 00:44:57.100
niin tää palikka nyt meillä
edustaa sitä sitä tietomallia.

664
00:44:57.100 --> 00:45:02.420
Eli tää palikka on tavallaan tämmöinen
tieto joka huolehtii siitä että

665
00:45:02.420 --> 00:45:07.130
siellä on se on sen tarvittava data
ja sitten sen datan käsittely hoidetaan

666
00:45:07.130 --> 00:45:13.500
myöskin täällä mallin puolella ja sitten.

667
00:45:13.500 --> 00:45:17.720
Tämä visuaalinen puoli tai
tämä käyttöliittymä puoli.

668
00:45:17.720 --> 00:45:20.240
On sitten eri ikään kuin kerroksessa.

669
00:45:20.240 --> 00:45:24.280
Eli tää on hyvin hyvin hyvin
alkeellista model view ajattelua.

670
00:45:24.280 --> 00:45:29.510
Tavallaan 2 kerrosarkkitehtuuri missä
se model on on siellä palkkaluokassa

671
00:45:29.510 --> 00:45:34.530
eli se malli ja sitten www.on tämä
mikä näkyy käyttäjälle esimerkiksi nyt

672
00:45:34.530 --> 00:45:39.180
juurikin nämä neliöiden lisääminen
tänne ruutuun ja sitten tämä käyttäjän

673
00:45:39.180 --> 00:45:43.340
kontrollointi tai tää
näppäimistön toiminta.

674
00:45:43.340 --> 00:45:49.840
Ja tietysti sitten kun asiat monimutkaistuu ja
ohjelmasta tulee monimutkaisempi, niin tää arkkitehtuurin

675
00:45:49.840 --> 00:45:56.500
monimutkaistuu ja ehkä yksi suosituimmista
malleista toteuttaa arkkitehtuuria on tämmöinen

676
00:45:56.500 --> 00:46:01.670
model view controller eli eli se tietomalli ja
sitten on tää näkyvä osa ja sitten välissä semmoinen

677
00:46:01.670 --> 00:46:05.650
kontrolleri joka hoitaa
sitä että miten se.

678
00:46:05.650 --> 00:46:11.740
Tieto välitetään ja miten se
tieto näytetään sinne käyttäjälle?

679
00:46:11.740 --> 00:46:14.240
Että nyt ollaan tehty 2
kerrosta arkkitehtuuria.

680
00:46:14.240 --> 00:46:17.420
Ei ole kovin pitkä matka enää
sitten semmoiseen niinku oikeaan

681
00:46:17.420 --> 00:46:19.720
oikean ohjelman 3 kerros arkkitehtuuriin.

682
00:46:19.720 --> 00:46:23.740
Mutta joo, jätetään se
myöhempien kurssien hoidettavaksi.

683
00:46:23.740 --> 00:46:27.460
Mutta nyt mulla oli vielä yksi toive
tässä ja se toive oli sellainen niin että

684
00:46:27.460 --> 00:46:30.940
me voitaisiin näistä liikkumattomista
kaveriuksesta tehdä, tehdä semmoisia vähän

685
00:46:30.940 --> 00:46:35.400
hienommin häviä eli tehdään,
tehdään siitä tällainen.

686
00:46:35.400 --> 00:46:43.100
Fancy palikka, jonka tuhoutuminen tapahtuu,
tapahtuu vähän nätimmin ja ja tota tän

687
00:46:43.100 --> 00:46:48.360
voisi nyt tietysti taas tehdä monella eri
tavalla ja ja ja tota tietysti se kaikista

688
00:46:48.360 --> 00:46:53.160
oleellisin asia nyt tässä on jo ikään kuin
tehty, että että että että se palikka tietää

689
00:46:53.160 --> 00:46:58.300
sen oman tilansa ja hoitaa siihen tilan
muuttumiseen liittyvät aktiivit, jotka ei sitten

690
00:46:58.300 --> 00:47:00.920
suoranaisesti liity tähän peliin itsensä.

691
00:47:00.920 --> 00:47:03.630
Mutta nyt mä haluan tähän vähän vähän
vielä visuaalisuutta lisää, koska

692
00:47:03.630 --> 00:47:06.800
mä tykkään että että tää on
hienon hienon näköinen niin.

693
00:47:06.800 --> 00:47:10.800
Niin tehdään tästä palikasta sellainen
hieman erikoistuneempia versio, jonka

694
00:47:10.800 --> 00:47:15.500
nimi voisi nyt olla sitten tämmöinen fancy
palikka eli tehdään tästä liikkumattomista

695
00:47:15.500 --> 00:47:18.630
kappaleesta niin
tämmöisiä fancy palikoita.

696
00:47:18.630 --> 00:47:24.630
Jotka jotka tota tuhoutuessaan niin
antavat semmoisen pienen kivan animaation

697
00:47:24.630 --> 00:47:28.060
ja nyt tää ei toimi vielä koska tämmöistä
tanssipaikka nimistä luokkaa ei tietenkään

698
00:47:28.060 --> 00:47:32.070
ole olemassa ja ja tää ei vielä vieläkäänny
mutta lähdetään toteuttamaan sitä

699
00:47:32.070 --> 00:47:36.300
fancy palikkaa tänne ja add new class.

700
00:47:36.300 --> 00:47:38.520
Ja tää on melkein
samanlainen kuin se palikka.

701
00:47:38.520 --> 00:47:43.840
Eli tää perii palkkaluokan kaikkine
ominaisuuksineen ja toimintoineen,

702
00:47:43.840 --> 00:47:46.020
mutta me tarvitaan tänne fancypaikkaan.

703
00:47:46.020 --> 00:47:50.170
Myöskin se konstruktiori koska tää palikka
puolestaan perii fysiikkaöljyn ja kaikilla

704
00:47:50.170 --> 00:47:54.260
perillä luokilla täytyy myöskin
se 2 barometrin konduktööri olla.

705
00:47:54.260 --> 00:47:59.230
Eli mulla tarvitsee olla täällä
public fancy palikka joka ottaa 2.

706
00:47:59.230 --> 00:48:04.030
Parametreja vastaan ja nyt mä ajan
voittamiseksi sen tuosta copypas mallikoodi

707
00:48:04.030 --> 00:48:09.970
eli leveys ja korkeus tarvitaan
ottaa vastaan ja itse asiassa.

708
00:48:09.970 --> 00:48:15.260
Sama katsotaan mikä mulla oli tuolla.
Pikkuhetki.

709
00:48:15.260 --> 00:48:20.820
OK eli mä olin näköjään ajatellut
niin, että täällä voisi olla vakioväri.

710
00:48:20.820 --> 00:48:25.590
Tehdään.
Tehdään se nyt niin joo.

711
00:48:25.590 --> 00:48:30.220
Tehdään se niin eli eli tanssipaikka
jolla on vakiovärit, pinkki, vihreä musta

712
00:48:30.220 --> 00:48:33.690
ja niinpä mä käyn muokkaamassa
tuolta palikat pääluokan puolelta.

713
00:48:33.690 --> 00:48:40.700
Nytten pieni hetki otetaan
täältä tää väri listaus pois joo.

714
00:48:40.700 --> 00:48:43.040
Tehdään se nyt näin.

715
00:48:43.040 --> 00:48:46.900
Totta kai sinne voisi värejäkin tehdä,
mutta mä teen nyt ajon voittamiseksi

716
00:48:46.900 --> 00:48:50.300
sen sen tälleen niinku mä
tuossa mallissa olin ajatellut.

717
00:48:50.300 --> 00:48:53.620
OK palataan tonne fancypaikan puolelle.

718
00:48:53.620 --> 00:48:57.470
Eli se ottaa vastaan leveyden ja
korkeuden kutsussa konstruktion

719
00:48:57.470 --> 00:49:00.800
kutsussa ja sitten kutsuu keis elikkä on.

720
00:49:00.800 --> 00:49:04.640
Anteeksi kantaluun kantaluun konstruktio.

721
00:49:04.640 --> 00:49:08.600
Toisin sanoen sitä palkkaluokan
konstruktioria välittäen

722
00:49:08.600 --> 00:49:12.320
sinne leveyden korkeuden ja hetkinen.

723
00:49:12.320 --> 00:49:17.090
Mulla on siellä näköjään
ollut vielä muotokin.

724
00:49:17.090 --> 00:49:18.930
Mä otan sen muodon nyt hetkeksi pois.

725
00:49:18.930 --> 00:49:22.490
Tuosta emme me sitä tarvitse
eli sinne menee nyt sitten vain

726
00:49:22.490 --> 00:49:26.860
toi 3 3 argumenttia leveyskorkeus ja väri.

727
00:49:26.860 --> 00:49:33.200
Luettelo tai väritaulukko ja
mistä tää valitus tulee että.

728
00:49:33.200 --> 00:49:40.000
Jype color, multiple choices.
Nyt täytyy ihan katsoa.

729
00:49:40.000 --> 00:49:43.180
Nyt täytyy ihan katsoa,
että mistä toi valitus tulee.

730
00:49:43.180 --> 00:49:47.040
Onko mulla on juuso?
Mulla ei ole juuri jypiä täällä ollenkaan.

731
00:49:47.040 --> 00:49:49.630
Housing jype eli se tarvitaan
tietysti tänne mukaan, niin

732
00:49:49.630 --> 00:49:52.300
saadaan kaikki jype ominaisuudet käyttöön.

733
00:49:52.300 --> 00:49:55.110
Eli nyt tää periaatteessa
kääntyilee ja mä pystyisin

734
00:49:55.110 --> 00:50:00.820
tän jopa ajamaan ja tää varmaan ei.
Ei tota.

735
00:50:00.820 --> 00:50:03.840
Eroa siinä mielessä nyt
tuosta äskeisestä tilanteesta.

736
00:50:03.840 --> 00:50:08.180
Toki nää värit nyt ovat tällä
tanssipelikoilla nyt pinkki vihreä

737
00:50:08.180 --> 00:50:10.920
ja sitten harmaa ja musta
ja sitten se tuhoutuu.

738
00:50:10.920 --> 00:50:14.520
Eli nytten tää vielä vielä itse ihan
sitä mitä halutaan, mutta mutta ainakin

739
00:50:14.520 --> 00:50:18.810
kääntyy ja ja tuota pystyn
sen laittamaan käyntiin.

740
00:50:18.810 --> 00:50:23.570
Oikein hyvä, mutta nyt se oleellinen asia eli
se tulee palikan tuhoutuminen ja mä haluan niin

741
00:50:23.570 --> 00:50:27.730
että tän palikan tuhoutuminen on pikkuisen
erilaista, kun sillä peruspalikat.

742
00:50:27.730 --> 00:50:31.430
Jos me vielä vilkaistaan tänne peruspalkkaan,
niin mullahan oli täällä siis tää public

743
00:50:31.430 --> 00:50:36.870
void ota vastaan osuma, mut niinku teknisiä
termejä käyttäen niin mä haluaisin nyt ylikirjoittaa

744
00:50:36.870 --> 00:50:42.750
sen vakio toteutuksen täällä perimässä luokassa
eli täällä ihan niinku eilen tehtiin sinne

745
00:50:42.750 --> 00:50:46.370
eläinluokkaan se
perussääntö eli hei hei olen.

746
00:50:46.370 --> 00:50:51.100
Se ja se nimeltään niin se kissahan
pystyy sanoa miumau joka pystyy sanoa

747
00:50:51.100 --> 00:50:55.990
hau hau eli hieman tavallaan
erikoista sitä tiettyä toimintaa.

748
00:50:55.990 --> 00:51:00.850
No nyt mä haluan tätä fancy palikkaa
muokata, siten niitä se erikoisttaa.

749
00:51:00.850 --> 00:51:05.470
Sitä.
Ota vastaan.

750
00:51:05.470 --> 00:51:08.880
Osuma toiminnallisuutta, joka
siellä kantaluokan puolella on,

751
00:51:08.880 --> 00:51:11.650
on on määritelty ja nyt
täällä tulee valitusta.

752
00:51:11.650 --> 00:51:13.830
No.

753
00:51:13.830 --> 00:51:18.940
Suitable method for overrid, jolloinka
mun pitää täällä palkkaluokassa.

754
00:51:18.940 --> 00:51:21.940
Onhan se samanniminen ota
vastaan osuma ota vastaan.

755
00:51:21.940 --> 00:51:27.140
Osuma on joo elikkä mun pitää palkkaluokassa
käydä sanomassa, että tämä on yli kirjoitettavaa

756
00:51:27.140 --> 00:51:34.160
metodi eli virtual sana käydä huikkaamassa
silleen että hei tän voi siellä perimässä luokassa

757
00:51:34.160 --> 00:51:39.140
ylikirjoittaa ja nyt se valitus täältä
myöskin myöskin sitten ne häviää.

758
00:51:39.140 --> 00:51:44.040
Ja nyt mä voin tehdä tänne vähän vähän
paremman törmäyksen ja ennen kun oikeastaan

759
00:51:44.040 --> 00:51:47.680
tehdään sitä niin katsotaan
että menikö tää mun peli rikki.

760
00:51:47.680 --> 00:51:51.020
Eli jos mä nyt tän laitan käyntiin niin.

761
00:51:51.020 --> 00:51:55.340
Käsittääkseni näiden tavallisten neliöiden
ja ympyröiden pitää sieltä tuhoutua,

762
00:51:55.340 --> 00:52:00.800
mutta sitten nää tanssipaikat, niin nyt
kun me ollaan se osuman vastaanottaminen

763
00:52:00.800 --> 00:52:04.100
oven raidat, niin nytpähän
ei osaakaan tehdä mitään.

764
00:52:04.100 --> 00:52:06.250
Eli se mun.

765
00:52:06.250 --> 00:52:09.970
Ota vastaan osuman täysin tyhjä OK
tehdään tässä semmoinen pikku kikka,

766
00:52:09.970 --> 00:52:15.050
että kutsutaan sitä kantaluokan ota
vastaan osumaa eli tehdään se mitä se

767
00:52:15.050 --> 00:52:19.260
kantaluokan eli base luokan
ota vastaan osuma tekee.

768
00:52:19.260 --> 00:52:23.360
Ja nyt täältä tulee sitten raiderilta vinkkejä,
että se saisi tarvitse tämmöistä, mutta

769
00:52:23.360 --> 00:52:29.740
ja ja sehän se nyt näin, eli eli me voidaan
kutsua täällä perimässä luokassa sitä kantaluokan

770
00:52:29.740 --> 00:52:34.240
toteutusta, jos näin haluamme ja katsotaan
nyt, että se sitten toimii elikkä kyllä

771
00:52:34.240 --> 00:52:38.770
pystyisimme periaatteessa hyödyntämään sitä
kantaluun toteutusta, jolloinka ne tanssipaikat

772
00:52:38.770 --> 00:52:40.940
nyt sitten tuhoutuvat sieltä.

773
00:52:40.940 --> 00:52:43.580
Mutta oikeastaan mä en halua
tehdä sitä, vaan mä haluan

774
00:52:43.580 --> 00:52:49.340
tehdä nyt siitä vähän hienomman.
Ja ja tota.

775
00:52:49.340 --> 00:52:52.560
Tota tota.

776
00:52:52.560 --> 00:52:57.660
Se miten se tehdään niin on on
taas aavistuksen tekninen, jotenka

777
00:52:57.660 --> 00:53:01.560
mä nytten sen sen tässä nopeasti näytän.

778
00:53:01.560 --> 00:53:06.430
Eli idea olisi nyt seuraavanlainen.

779
00:53:06.430 --> 00:53:08.350
Pienennetään oliota nolla.

780
00:53:08.350 --> 00:53:11.690
Yksi sekunnin välein 5 kertaa
ja vasta sitten kutsutaan

781
00:53:11.690 --> 00:53:16.560
kantaluokan tuhoa palikkaa aliohjelmaa.
Eli.

782
00:53:16.560 --> 00:53:18.710
Eli tota.

783
00:53:18.710 --> 00:53:20.760
Anteeksi nyt mä menin
muuten väärään kohtaan.

784
00:53:20.760 --> 00:53:37.610
Joo pieni hetki.
Pieni hetki pieni hetki.

785
00:53:37.610 --> 00:53:43.540
Joo nyt mä tein muuten
väärin elikkä mun piti tehdä.

786
00:53:43.540 --> 00:53:48.120
Ei tästä ota vastaan
osumasta erilaista vaan tuhoa.

787
00:53:48.120 --> 00:53:52.660
Palikka aliohjelma joo, pahoittelut nyt
mä nyt mä näköjään sekoilin ihan huolella

788
00:53:52.660 --> 00:53:58.480
elikkä jätetään tää ota vastaan osuma
tälleen niinku se olikin ja sitten tehdään

789
00:53:58.480 --> 00:54:04.100
tänne palkkaluokan elikkä tänne kantaluokan
puolelle tuhoa palikka joka oletus

790
00:54:04.100 --> 00:54:06.140
toteutuksena tuhoaa sen palikan itsensä.

791
00:54:06.140 --> 00:54:11.760
Joo pahoittelut nyt elikkä tätä tuhoa palikka
aliohjelmaa kutsutaan sitten täällä palkkaluokassa,

792
00:54:11.760 --> 00:54:14.930
niin tässä kohtaa missä me
aikaisemmin vaan tuhottiin se näin.

793
00:54:14.930 --> 00:54:19.560
Eli nyt me saadaan tästä palikan tuhoutumisesta
yli kirjoitettava, joka me voidaan

794
00:54:19.560 --> 00:54:22.510
siellä finanssipolitiikan
luokan puolella ylikirjoittaa.

795
00:54:22.510 --> 00:54:27.170
Eli vielä kokonaiskuva
tästä, eli ota vastaan osuma.

796
00:54:27.170 --> 00:54:31.250
Toimii niin kuin ennenkin, mutta siellä
palikan tuhoutumisen kohdalla kutsutaan

797
00:54:31.250 --> 00:54:35.020
tuhoa palikkana nimistä aliohjelmaa, joka
meillä täällä palkkaluokassa on tämmöinen

798
00:54:35.020 --> 00:54:39.350
virtuaalinen eli yli kirjoitettava ja
oletus toteutus sille on, että se vaan

799
00:54:39.350 --> 00:54:45.330
tuhoaa sen palikan itsensä ja tacit ja
nyt mennään fancy palkkaluokan puolelle

800
00:54:45.330 --> 00:54:47.530
ja tätä ei pidä nyt siis nytten tehdä.

801
00:54:47.530 --> 00:54:53.710
Näin sori mä otan sen pois
siitä ja ylikirjoittaa.

802
00:54:53.710 --> 00:55:00.970
Public överit ford.
Tuhoa palikka näin tämä piti ylikirjoittaa.

803
00:55:00.970 --> 00:55:06.630
Joo hyvä.
Tässä on monta monta.

804
00:55:06.630 --> 00:55:12.270
Muuttujaa kun tätä tätä tehdään niin niin
pahoittelut että meni nyt vähän tuossa.

805
00:55:12.270 --> 00:55:15.280
Tuossa pasmat sekaisin, elikkä
täällä olisi nyt tarkoitus tehdä

806
00:55:15.280 --> 00:55:20.090
se se mitä tuossa äsken
äsken sanoin eli nolla.

807
00:55:20.090 --> 00:55:22.150
Tuhoutumisen yhteydessä niin nolla.

808
00:55:22.150 --> 00:55:27.510
Yksi sekunnin välein 5 kertaa pienentää kyseistä
oliota ja vasta sitten kutsua sitä kantaluokan

809
00:55:27.510 --> 00:55:32.560
turvapaikkaa oli ohjelmaa eli
sitä pistoroi metodia käytännössä.

810
00:55:32.560 --> 00:55:36.280
Eli meillä olisi joku
aika askel eli eli nolla.

811
00:55:36.280 --> 00:55:38.300
Yksi sekuntia tässä tapauksessa.

812
00:55:38.300 --> 00:55:42.280
Mikä indikoi nyt sitä, että minkä
ajan välein oli jota pienennetään

813
00:55:42.280 --> 00:55:44.260
ja sitten meillä olisi
joku askeleiden määrä?

814
00:55:44.260 --> 00:55:49.200
Eli kuinka monta kertaa oli jotta
pienennetään ennen kyseisen olion tuhoutumista

815
00:55:49.200 --> 00:55:54.880
ja nyt sitten se varsinainen
homma tähän eli pieni silmukka.

816
00:55:54.880 --> 00:55:58.280
Joka käy läpi lukuja.

817
00:55:58.280 --> 00:56:02.140
Pannaan siellä lähtemään
ykkösestä ja menemään.

818
00:56:02.140 --> 00:56:07.010
Pienennys askeleita.
Verran eteenpäin.

819
00:56:07.010 --> 00:56:13.870
Ja joka ikisellä kierroksella niin
me luodaan tämmöinen pikku ajastin.

820
00:56:13.870 --> 00:56:20.010
Jonka ainoana
tehtävänä. On.

821
00:56:20.010 --> 00:56:24.290
On tota.
Pienentää himpun verran sitä.

822
00:56:24.290 --> 00:56:29.040
Olion leveyttä.
Tarkkaan ottaen puolittaa se.

823
00:56:29.040 --> 00:56:33.680
Ja sama juttu korkeudelle eli puolittaa
korkeus ja nyt tää saattaa näyttää

824
00:56:33.680 --> 00:56:37.630
vähän oudolta, mutta tää on oikeasti
jos pikkuisen katsoo niin oikeasti aika

825
00:56:37.630 --> 00:56:41.970
aika yksinkertainen homma, eli mä teen
ajastimen joko laukeaa tasan yksi kerran

826
00:56:41.970 --> 00:56:44.190
eli se ei ole niinku
säännöllisesti laukeava.

827
00:56:44.190 --> 00:56:49.760
Ajastin vain yksi kerran tapahtuva asia
siellä meidän pelissä ja sitten ensimmäisenä

828
00:56:49.760 --> 00:56:53.450
argumenttina että milloin se tapahtuu ja
nyt mulla on tässä tää forsell luokassa

829
00:56:53.450 --> 00:56:57.910
tää joka käy läpi lukuja
ykkösestä vitoseen ja.

830
00:56:57.910 --> 00:57:02.860
Ja tota.
Aika askel oli nolla.

831
00:57:02.860 --> 00:57:12.500
Yksi sekuntia eli tän homman
tarkoitus on luoda nolla.

832
00:57:12.500 --> 00:57:14.520
Yksi sekunnin kohdalle ajastin nolla.

833
00:57:14.520 --> 00:57:18.240
2 sekunnin kohdalle ajastin nolla.
3 sekunnin kohdalle yksi 

834
00:57:18.240 --> 00:57:18.240
ajastin ja niin edelleen aina sinne nolla.

835
00:57:18.240 --> 00:57:20.040
5 saakka ja jokaisella
kierroksella sitten puolittaa sitä.

836
00:57:20.040 --> 00:57:23.570
Olion koko.

837
00:57:23.570 --> 00:57:28.690
Kirjoittaa vain vähän koodia kerrallaan ja
katsoa, että toimiiko se homma vaiko eikö?

838
00:57:28.690 --> 00:57:32.430
No nää peruspalikat nyt ei ainakaan
ole mennyt rikki, ne näyttäisi toimivan.

839
00:57:32.430 --> 00:57:34.250
Entäs nuo palleroiset nekin toimii?

840
00:57:34.250 --> 00:57:41.740
No sitten tää fancy eli punainen
vihreä harmaa musta ja kyllä näyttäisi.

841
00:57:41.740 --> 00:57:44.900
Toimivan se ihan niinku pikkuiseksi
tuonne ja nyt jos mä meen sitä

842
00:57:44.900 --> 00:57:47.610
vieläkin tökkimään niin ehkä mä
sitäkin pystyn vielä tökkimään, että

843
00:57:47.610 --> 00:57:50.140
tää ei niinku se ei
lopullisesti häviä sieltä.

844
00:57:50.140 --> 00:57:53.740
Eli se lopullinen
häviäminen pitää vielä tehdä.

845
00:57:53.740 --> 00:57:56.280
Eli se kyllä hienosti siinä
pienenee, mutta se ei lopullisesti

846
00:57:56.280 --> 00:57:59.680
häviä niin laitetaan
sinne vielä yksi ajastin.

847
00:57:59.680 --> 00:58:03.660
Eli vielä yksi ajastin tuonne ihan
loppuun, että kun ne kaikki aika

848
00:58:03.660 --> 00:58:07.040
askeleet on käyty läpi, niin
sitten kutsutaan tätä base.

849
00:58:07.040 --> 00:58:10.590
Tuhoa palikka, joka on se kantaluokan
toteutus sille tuhoamiselle.

850
00:58:10.590 --> 00:58:13.930
Ja jos mä nyt vielä kerran
sinne vilkaisen niin sehän on se.

851
00:58:13.930 --> 00:58:16.030
Bistro.

852
00:58:16.030 --> 00:58:22.960
Eli sitten se pitäisi
aivan lopullisesti hävitä.

853
00:58:22.960 --> 00:58:26.880
Ja nyt katsotaan miten käy
pienen pienen taistelun jälkeen.

854
00:58:26.880 --> 00:58:28.680
Niin.

855
00:58:28.680 --> 00:58:33.020
Nyt se palikka sieltä tolleen kivasti
animaation omaisesti siellä häviää ja tähän voi

856
00:58:33.020 --> 00:58:37.290
tehdä näitä aika askeleita vielä
enemmänkin, että siihen saa vaikka.

857
00:58:37.290 --> 00:58:40.140
Vieläkin sulavammaksi tuon
pienennysoperaation, mutta

858
00:58:40.140 --> 00:58:43.700
tuo nyt kelpaa mulle ihan ihan OK.

859
00:58:43.700 --> 00:58:47.720
Että tämmöistä pientä pientä visuaalista
karkkia sitten voidaan voidaan

860
00:58:47.720 --> 00:58:50.410
tällä tavalla sinne peliin
etten ajastimen avulla tehdä.

861
00:58:50.410 --> 00:58:52.520
Tässä on pienen pieni bugi.

862
00:58:52.520 --> 00:58:54.680
Paljastan sen nyt teille.

863
00:58:54.680 --> 00:58:58.100
Eli jos mä meen tähän
pienentymisen yhteydessä tokaisemaan

864
00:58:58.100 --> 00:59:00.780
tota katsotaan onnistunko
mä tokaisemaan sitä.

865
00:59:00.780 --> 00:59:04.990
Eli tuolla tavalla jos mä tokaisen sitä sen
pienentymisen yhteydessä, niin valitettavasti

866
00:59:04.990 --> 00:59:09.080
tässä tapahtuu tämmöinen, että
että se on jo tuhoutumassa.

867
00:59:09.080 --> 00:59:14.240
Eli tuolla hyppelin taustajärjestelmä
niin kun me sanotaan että.

868
00:59:14.240 --> 00:59:17.850
Että tota base.
Tuhoa palikka joka kutsuu sitä disc.

869
00:59:17.850 --> 00:59:19.720
Bistro metodia.

870
00:59:19.720 --> 00:59:24.700
Niin se lisätään semmoisten tuhottava öljyjen
listaan ja jos mä menen semmoista tuhottävien

871
00:59:24.700 --> 00:59:29.420
olioiden listassa olevaa oliota tokaisemaan
ja koskettelemaan sitä uudestaan ja ja sano

872
00:59:29.420 --> 00:59:32.970
vaan sille uudestaan, ettäpiste
destroy, niin se ei oikein käy.

873
00:59:32.970 --> 00:59:36.330
Eli tässä tapahtuu tämmöinen niin että.

874
00:59:36.330 --> 00:59:41.890
Että tota se tuhottava olio yritetään
tuhota sitä uudestaan ja ja siitä tulee

875
00:59:41.890 --> 00:59:47.590
tämmöinen ajonaikainen virhe tai invalid
operation exception poikkeus ja tää

876
00:59:47.590 --> 00:59:52.770
voidaan korjata sillä tavalla, että kun
kun se oli jo on nyt tässä kertaalleen

877
00:59:52.770 --> 00:59:57.500
merkitty tuhottävien
olijoiden joukkoon lisätään.

878
00:59:57.500 --> 00:59:59.390
Lisätään se tota hetkinen.

879
00:59:59.390 --> 01:00:04.460
Mä ihan lunttaan tuossa noin että.

880
01:00:04.460 --> 01:00:06.880
Joo, eli tälle voidaan tehdä.

881
01:00:06.880 --> 01:00:09.800
Tähän on 2 tapaa miten
tää bugi voidaan välttää.

882
01:00:09.800 --> 01:00:15.790
Eli me voidaan tässä palikan tuhoutumisen
yhteydessä sanoa niin, että poistetaan siltä.

883
01:00:15.790 --> 01:00:19.580
Poistetaan siltä.
Kaikki törmäys käsittelijät.

884
01:00:19.580 --> 01:00:21.680
Se on tämmöinen pitkänpuoleinen rimpsu.

885
01:00:21.680 --> 01:00:27.230
Toinen vaihtoehto on tehdä sellainen.
Tuhotaan tapahtuma.

886
01:00:27.230 --> 01:00:29.350
Mä mä laitan sen tuonne mallikoodi.

887
01:00:29.350 --> 01:00:33.390
Mä en nyt sitä tässä ajaa voittamiseksi
tee, mutta se on ehkä semmoinen ikään kuin.

888
01:00:33.390 --> 01:00:38.630
Voisiko sanoa elegantin piti elegantin
tapa tehdä tehdä sitten niinku

889
01:00:38.630 --> 01:00:42.740
tapahtumapohjaisesti toi tuhoutuminen,
mutta tää on nyt ehkä semmoinen

890
01:00:42.740 --> 01:00:46.800
candyn ratkaisu, mutta
katsotaan nyt että se toimii.

891
01:00:46.800 --> 01:00:50.460
Eli nyt, jos me käydään sitä tökkimässä
niin nyt sieltä ei ainakaan mitään poikkeusta

892
01:00:50.460 --> 01:00:53.520
tullut ja se kappalekin
sieltä ihan oikeasti tuhoutuu.

893
01:00:53.520 --> 01:00:58.790
Eli nyt tää peli periaatteessa toimii
eikä ainakaan aiheuta mitään poikkeuksia.

894
01:00:58.790 --> 01:01:03.930
Hyvä eli tässä koko tän homman pointti
oli oli se että ikään kuin piilotetaan sitä

895
01:01:03.930 --> 01:01:08.450
toteutusta siitä teknisestä
aspektista, että miten se väri vaihtuu.

896
01:01:08.450 --> 01:01:13.090
Miten miten se data liikkuu siellä olion
sisällä, piilotetaan se sinne palkkaluokan

897
01:01:13.090 --> 01:01:19.230
puolelle ja se malli palkkamalli
palkkaluokka pitää itse tiedon siitä.

898
01:01:19.230 --> 01:01:24.170
Itsellään kapseli tavallaan sen
osumien määrän ja kapseli värien tiedon.

899
01:01:24.170 --> 01:01:26.770
Elikkä tästä nyt on niinku
hyvä huomata se, että jos me

900
01:01:26.770 --> 01:01:29.330
mennään tuonne palikat luokan puolelle.

901
01:01:29.330 --> 01:01:31.810
Ja mietitään vaikka täältä tätä.

902
01:01:31.810 --> 01:01:35.650
Palikka oliota tässä rivillä
kolmekymmentäyksi niin nyt mä en pysty

903
01:01:35.650 --> 01:01:39.570
sanomaan sitä, että
palikkapiste värit on jotakin.

904
01:01:39.570 --> 01:01:43.530
Elikkä tämä on yksityinen muuttuja
siellä palkkaluokan puolella ja raider

905
01:01:43.530 --> 01:01:49.880
sanoo tässä näin että käännät
access private field_ värit ja.

906
01:01:49.880 --> 01:01:55.170
Ja jos mä haluaisin tuolle palikka oliolle
oikeasti antaa kokonaan uuden väri spektrin.

907
01:01:55.170 --> 01:01:58.630
Sanotaan että tää red ja low green
ei olisikaan hyvä vaan mä haluaisin

908
01:01:58.630 --> 01:02:01.200
sitä muuttaa niin mulla
olisi 2 vaihtoehtoa.

909
01:02:01.200 --> 01:02:05.850
Joko mä tekisin tälle
palikka luokalle semmoisen.

910
01:02:05.850 --> 01:02:09.770
Toiminnon eli metodin, jolla mä
pystyisin niitä värejä vaihtamaan

911
01:02:09.770 --> 01:02:12.620
taikka sitten asettaisin tän värit.

912
01:02:12.620 --> 01:02:18.000
Ominaisuuden kokonaan public, jolloinka
sitten pystyisi sitä sitä tuolla vaihtamaan.

913
01:02:18.000 --> 01:02:20.530
Se väri kokoelman public ja asettaminen.

914
01:02:20.530 --> 01:02:24.280
Minusta ei ole hyvä ajatus, koska
meillä on tää osumat muuttuja joka pitää

915
01:02:24.280 --> 01:02:27.500
kirjaa siitä, että kuinka monta
osumaa se on ottanut vastaan.

916
01:02:27.500 --> 01:02:31.540
Ja minusta jos me käytäisiin
puukottamassa tätä värit luetteloa

917
01:02:31.540 --> 01:02:35.030
täällä, niin silloin tää
näiden osumienkin pitäisi.

918
01:02:35.030 --> 01:02:39.430
Pitäisi varmaankin nolla tuo ja
oikeasti minun mielestä paras tapa olisi

919
01:02:39.430 --> 01:02:42.650
käsitellä se tilanne täällä
luokan puolella itsessään.

920
01:02:42.650 --> 01:02:45.190
Eli eli se oli jo hoitaisi sen tilanteen.

921
01:02:45.190 --> 01:02:48.490
Me ei sitä nyt tässä tehdä, mutta että
sitä voi niinku itse pohtia niin, että

922
01:02:48.490 --> 01:02:53.930
mikä se värin värien muuttamisen efekti
sitten loppujen lopuksi siinä oli siellä

923
01:02:53.930 --> 01:02:57.540
minkälaisia aspekteja siinä
pitäisi ottaa huomioon.

924
01:02:57.540 --> 01:03:02.190
Mutta hyvä tässä nyt 2 tämmöistä pitkän
puolesta esimerkkiä siitä, että minkälaista

925
01:03:02.190 --> 01:03:06.980
se olio ohjelmointi on siellä konsoliapissa
ja sitten minkälaista se on täällä jebel

926
01:03:06.980 --> 01:03:11.460
pelimaailman puolella ja tämmöisiä palikka
luokkia siellä sun pelissä sitten voisi

927
01:03:11.460 --> 01:03:16.880
hyvinkin olla esimerkiksi joku vihuluokka,
jolla olisi sitten joku osuma pistemäärä

928
01:03:16.880 --> 01:03:21.970
taikka pelaajaluokka joka pitäisi yllä tietoa
siitä, että montako pistettä se on kerännyt

929
01:03:21.970 --> 01:03:26.650
tai montako avainta se on sieltä jostain
pelimaailmasta hakenut ja onko sillä kenties

930
01:03:26.650 --> 01:03:28.950
riittävä määrä niitä avaimia.

931
01:03:28.950 --> 01:03:31.090
Jotta se saa jonkun oven auki
tai jotain vastaavaa tietoa.

932
01:03:31.090 --> 01:03:33.430
Se voisi voisi siellä pitää sisällään.

933
01:03:33.430 --> 01:03:38.350
Näitähän ei ole sinne peliin pakko tehdä, ne on
täysin valinnaisia ominaisuuksia, mutta saattaa

934
01:03:38.350 --> 01:03:44.160
huomattavasti siisteyttää sitä sitä peliluokkaa ja
tehdä siitä niinku puhuttu vähän tätä arkkitehtuuria

935
01:03:44.160 --> 01:03:48.860
ajattelua siihen peliin, että meillä on 2 tasoa
missä niitä asioita on, eikä välttämättä niiden

936
01:03:48.860 --> 01:03:53.180
sekoittaminen sitten ole
tarpeen tai ainakin se voi.

937
01:03:53.180 --> 01:03:57.750
Ainakin tää eriyttäminen voi
huomattavasti selkeyttää sitä sitä koodia,

938
01:03:57.750 --> 01:04:01.110
mutta kiitoksia mukanaolosta päätellään
tämän päivän luonto tähän ollaan

939
01:04:01.110 --> 01:04:03.350
pikkuisen etuajassa, mutta ei mitään.

940
01:04:03.350 --> 01:04:07.780
Ollaan viikon asiat käsitelty ja ensi
viikolla sitten päästään tutustumaan

941
01:04:07.780 --> 01:04:11.780
kokoelmiin eli puhutaan hieman
monipuolisimmista tieto rakenteista kuin

942
01:04:11.780 --> 01:04:14.590
mitä tähän mennessä ollaan
käsitelty vielä kerran.

943
01:04:14.590 --> 01:04:18.230
Kiitoksia mukaan alusta, ei muuta
kuin taas ahkerasti demoja tekemään.

944
01:04:18.230 --> 01:04:22.110
Käykää ohjauksessa hyödyntäkää niitä,
laitoin sinne ohjauksista tiedon

945
01:04:22.110 --> 01:04:26.410
hieman lyhennetyt ajat ovat
siinä jatkossa voimassa.

946
01:04:26.410 --> 01:04:29.080
Osallistujien vähyyden
vuoksi, mutta käyttäkää niitä

947
01:04:29.080 --> 01:04:31.140
aikoja mitä siellä nyt tarjolla on.

948
01:04:31.140 --> 01:04:33.400
Ei muuta kuin mukavaa viikkoa
jotka on kaikille moi moi.