Taulukot

Mikä on taulukko

Kuvitellaan, että haluat ruudullesi 100 kappaletta vihollisia. Jokainen niistä liikkuu satunnaisesti ruudulla. Sinun pitäisi jotenkin hallita kaikkien koordinaatteja. Sinä voisit lähteä kirjoittamaan:

Vihulainen001X=400
Vihulainen001Y=200
Vihulainen002X=400
Vihulainen002Y=200
Vihulainen003X=400
Vihulainen003Y=200
Vihulainen004X=400
Vihulainen004Y=200
...
... koodia ...
...
Vihulainen100X=400
Vihulainen100Y=200

Siinä olisi kuitenkin hirvittävä työ, joten se ei olisi kovin järkevää. Juuri tätä tarkoitusta varten ohjelmointikielissä on taulukot. Taulukoiden avulla jopa tuhansille muuttujille annetaan yksi nimi, ja niitä voidaan hallita helposti läpikäyntirakenteen For...Next avulla. Taulukko on siis tavallaan kuin "muuttujanippu". Edellinen esimerkki voidaan kirjoittaa paljon lyhemmin ja mukavammin muotoon:

1    Dim VIHULAISET (100, 2)
2
3    For i = 1 to 100
4
5        VIHULAISET (i, 1) = 400
6        VIHULAISET (i, 2) = 200
7
8    Next i

Näin olemme asettaneet kaikkien vihollisten koordinaateiksi 400 ja 200! Samalla tavalla kaikki viholliset voidaan piirtää:

1    For i = 1 to 100
2
3        DrawImage vihuKuva, VIHULAISET (i, 1), VIHULAISET (i, 2)
4
5    Next i

Siis tä?

Kuvittele taulukkoa laatikkona. Sen sisällä on pieniä laatikoita. Ja jokaisen pienen laatikon sisällä voi olla pienempiä laatikoita jne... ulottuvuuksien mukaan. Pääset aina käsiksi johonkin laatikkoon kun tiedät koko polun sen luokse.

Lisää asiaa

Taulukot varataan Dim-sanalla. Taulukkonimen perään kirjoitetaan sulkeet, joiden sisään tulee lista ulottuvuuksista. Taulukoilla voi olla 1-5 ulottuvuutta, ja ne erotetaan pilkuilla. Taulukot on aina esitettävä sulkeiden kanssa. Taulukot varataan yhden kerran ohjelman alussa - ennen kuin niitä yritetään käyttää.

Yllä olevassa esimerkissä varasimme kaksiulotteisen kokonaislukutaulukon. Taulukko voi olla mitä tahansa tyyppiä. Tässä varataan kaksi taulukkoa: desimaalitaulukko ja merkkijonotaulukko:

1    Dim VIHULAISET_X# (100)
2
3    Dim VIHULAISET_NIMET (100) AS STRING

Ei ole väliä kumpaa tapaa käytät tyypin määrittelyssä, se on totuttelukysymys. Kun käytät tällaisia taulukoita, sen nimen perään EI kirjoiteta tyyppitunnistetta. Pelkkä "VIHULAISET_X" ja sulkeet.

Taulukoita voidaan uudelleenvenyttää Redim-komennolla, jolloin sen kokoa voidaan kasvattaa tai supistaa. Ulottuvuuksien määrää ei kuitenkaan voi muuttaa. Voit itse vaikuttaa siihenkin, tuhotaanko taulukon sisältö uudelleenvenytyksessä käyttämällä ClearArray-komentoa. Lisätietoa kyseisten komentojen manuaalista.

Lisää taulukoista manuaalin DIM-käskyn komentokohtaisesta oppaasta...


<<TAKAISIN