<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>teema 6: paikkoja ja hahmoja</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in teema 6: paikkoja ja hahmoja</description>
<item><title>teema 6: paikkoja ja hahmoja</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/teema%206%3A%20paikkoja%20ja%20hahmoja</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1398715621</guid>
<description>&lt;p&gt;&lt;ins&gt;!!! Harjoitus 6a: paikkojen nimet&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Kääntymällä ja hypsähtelemällä on helppoa tehdä toistensa 
ympäri liikkuvia hahmoja, mutta mitä, jos haluammekin tehdä hahmoja, 
jotka liikkuvat toisistaan riippumatta? Silloin auttaa se, että 
jokaisella ruudun kohdalla on oma nimi, jonka perusteella kyseiseen 
kohtaan voi siirtyä suoraan. Nimeä sanotaan paikan ''koordinaateiksi'' 
ja se koostuu kahdesta luvusta.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Lennokin tämänhetkisen paikan saa tietää komennolla "paikka". 
Kokeile tätä:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ ? sano paikka 93.930424 -106.442418 }}}&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;(Luvut voivat olla sinulla erilaiset, jos lennokki on sinulla 
eri kohdassa kuin minulla.) Ensimmäinen luku on paikan "etunimi" ja 
kertoo, missä kohtaa lennokki on vaakasuunnassa; toinen luku 
("sukunimi") kertoo, missä kohtaa pystysuunnassa. Paikat, jotka ovat 
samalla pystyviivalla, ovat etunimiltään samat eli kaimoja 
(pystysuunnassa liikkuminenhan ei vaikuta vaakasuuntaiseen paikkaan) ja 
paikat, jotka ovat samalla vaakaviivalla, ovat sukunimiltään samat eli 
sukulaisia.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Paikan etunimiluku on sitä suurempi, mitä enemmän lennokki on 
oikealla. Jos lennokki on keskellä ruutua, etunimi on nolla, jos 
vasemmalla puoliskolla, etunimi on miinusmerkkinen, ja jos oikealla, 
etunimi on plusmerkkinen. Sukunimi on sitä suurempi, mitä ylempänä 
lennokki on. Keskellä ruutua tämäkin nimi on nolla, alhaalla 
miinusmerkkinen ja ylhäällä plusmerkkinen. Niinpä lennokki on minulla 
ilmeisesti jossain oikealla (93.930424) ja alhaalla 
(-106.442418).&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Vaakasuunnan lukua (eli etunimeä) kutsutaan yleensä nimellä x 
ja pystysuunnan lukua (eli sukunimeä) nimellä y (syy tähän on historian 
hämärissä). Komento, jolla voi siirtyä suoraan haluamansa nimiseen 
paikkaan, on nimeltään hypsxy. Komento ottaa kaksi syötettä, paikan 
etu- ja sukunimen eli x:n ja y:n. Voit kokeilla sitä, mutta kannattaa 
ensin ottaa lennokki näkyviin, jotta näet, mihin se siirtyy:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ ? uusi ? näkyviin ? hypsxy 100 100 ? hypsxy 0 0 ? hypsxy 0 
100 ? hypsxy -30 70 ? hypsxy -130 70 ? hypsxy -130 -70 }}}&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Harjoittele nyt saamaan lennokki haluamaasi paikkaan. Osoita 
sormellasi jotain kohtaa ruudusta ja yritä sitten saada kirjoitetuksi 
hypsxy-komento, jolla pääset kyseiseen kohtaan. (Jos tästä ei meinaa 
tulla mitään, ohjaa lennokki sinne tutuilla et-, oi- ja va-komennoilla 
ja pyydä Logoa kertomaan lennokin paikka.)&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;!!! Harjoitus 6b: vapaasti lentävät asiat&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Nyt käytetään kerta- ja hypsxy-komentoja siihen, että 
lennätetään hahmoja eri suuntiin näytöllä. Uusi-komento vaihtuu taas 
pyyhi-komentoon, koska keskelle palaamisesta ei ole mitään hyötyä, kun 
kerran menemme joka tapauksessa suoraan johonkin paikkaan nimen 
perusteella käyttäen hypsxy-komentoa.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Tässä on ensimmäinen kokeilu, kaksi eri suuntiin menevää 
neliötä:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ ? piiloon ? toista 100 [pyyhi hypsxy 0 kerta neliö hypsxy 
kerta 0 neliö odota 1] }}}&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Miksi toinen neliö menee ylös ja toinen oikealle? Koska 
ensimmäisessä hypsxy-komennossa ''vaakasuunta'' on aina 0 (eli neliö on 
keskellä näyttöä vaakasuunnassa) mutta ''pystysuunta'' kasvaa koko ajan 
(eli neliö siirtyy ylöspäin); toisessa hypsxy-komennossa nämä ovat 
juuri toisin päin eli neliö on keskellä näyttöä pystysuunnassa mutta 
vaakasuunta kasvaa koko ajan eli neliö siirtyy oikealle.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Kertomalla toistokertaa eri luvuilla saa eri suuntiin liikkuvia 
hahmoja:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ ? miten tähti &gt; toista 5 [et 30 oi 144] &gt; valmis tähti 
määritelty ? toista 150 [pyyhi hypsxy 100-kerta 2*kerta-150 tähti 
hypsxy 1.5*kerta-100 kerta-50 tähti hypsxy 2.5*kerta-200 0-kerta tähti 
odota 1] }}}&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Laskukaava voi tietenkin olla mielivaltaisen 
monimutkainen:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;{{{ ? toista 150 [pyyhi hypsxy 70/(kerta/10-7.55) 
3*kerta-kerta*kerta/50 tähti odota 2] }}}&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;!!! Harjoitus 6c: monen lennokin käyttö&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;XXX TODO&lt;/ins&gt;

</description>
<pubDate>Mon, 28 Apr 2014 20:07:01 +0000</pubDate>
</item>

</channel></rss>
