Demo
6 / Ma 16.10
1.	Räiskintä
- 1.
- Korjaa
liikennevalot (ota 
n:\kurssit\winohj\delphi\vclclx\comps\raiskinta
ja kokeile testiohjelmaa 
AutoPeli.dpr).
- 2.
- Vaihda
testiohjelmassa rivin
	    Auto := TRusinaksiMuuttuvaAuto.Create(space);
	tilalle
	    Auto := TAuto.Create(space);
- 
- Tutki
miksi autot häviävät ruudusta törmäyksessä.  Peri 
TAutosta
sellainen auto, joka ei häviä törmäyksessä.  Vaihda
testiohjelman luomiseen tällaisten autojen luominen ja kokeile.
- 3*4.
- Lisää
koira, joka kulkee myös vinottain.  Kun koira "törmää"
liikennevaloon, niin se jättää siihen keltaisen
läiskän ("
TPissi")
ja vaihtaa sitten satunnaiseen kulkusuuntaan.  
TPissi
haihtuu pois 20 sekunnin kuluessa.
2.	Piirtäminen
ja muunnosmatriisit
- 5*6.
- Muuta
esimerkissä 
vclclx\comps\piirto\sinform.pas
ollutta ratkaisua vielä oliomaisemmaksi:  Tee ensin luokka 
cFunktionKuvaaja,
jossa on piirrettävä funktio 
f
ja
piirtoväli 
[x1,x2]
sekä väri.  Tähän luokkaan sitten metodi 
Draw(dc:TCanvas,
const A: cTMatrix)
,
joka suorittaa varsinaisen piirtämisen.  Ikkunaan laita olio-
osoitintaulukko (tallettaa tyyppiä 
cFunktionKuvaaja)
funktiot:TList;
,
johon ikkunan luomisen yhteydessä alustetaan muutama funktio ja
piirrä kaikki funktiot 
OnPaint
tapahtumassa 
for-silmukalla.
 Halutessasi voit tehdä myös funktiotaulukosta olion!
3.	Bonus
- 7*8.
- Kokeile
piirtää edelliseen ohjelmaan myös funktion 
- 
- f(x,y)
= sin(x)*cos(y) 
- 
kuvaaja.
 Vihje:  luo uusi funktioluokka ja kierrä koordinaatistoa
pääikkunan 
scale
metodissa esimerkiksi lisäämällä metodin loppuun (C++
syntaksilla annettuna):
	cRotMatrix Rx(0,40.0),Ry(1,30.0);
	A *= Rx*Ry;
- 
- (Mallia
valmiista ohjelmasta voit katsoa esim: 
vclclx/comps/piirto/Piirto3d.exe)