Njoo, en nyt ole varma mikä olisi paras tapa, mutta olen sähläillyt DIM jutulla. Niinkun jotenkin tällä tavoin (toivottavasti muistan oikein :) ):
DIM koira(34)
Siinä niinkun olis tarkotus olla noin monta roikaa.
Olisiko mahdollista että saisi niinkun yhelle tommotteelle koiralle monta arvoa, niinkun jotenkin:
koira(randomrakki).vesikauhu = 1
Niinkun toi vesikauhu on yksi niistä monista arvoista mitä yhelle koiralle vois laitaa..
Toivottavasti tajusitte edes jotenkin. :)
Ja ennen kuin joku ehtii kysyä, en aio tehdä mitään koirapeliä..
Jep, onnistuu se TYPE-komennolla, näin:
TYPE tkoira nimi AS STRING ika AS INTEGER vesikauhu AS INTEGER END TYPE DIM koira(34) AS tkoira koira(1).nimi="Tessu" koira(1).ika=7 koira(1).vesikauhu=1
Kiitos, juuri tätä tarkoitin! :)
Öö, entä mikä olis paras tapa toteuttaa sellane "jutska" ku otetaan esimerkiks vaikka toi koira. Jos jonkun koiran, vaikka Tessun nopeus olis 8, ja toisen koiran Tepsun nopeus 10, niin miten toteuttaa arvonta(vaikka RANDOMIZE TIMER:llä)sillee että Tepsulla olisi suurempi mahdollisuus voittaa?
Siis arvonnassa on kyse kilpa juoksusta. =)
Jotenkin näin esimerkiksi (en ole kokeillut, joten voi olla virheitä):
tessu%=8
tepsu%=10
yht%=tessu%+tepsu%
tessui!=int(tessu%/yht%*100)
randomize timer
luku%=int(rnd*100)+1
if luku%<tessui! then
print "Tessu voitti"
else
print "Tepsu voitti"
end if
Kiitoksia, kyllä se toimi. Mutta miksi QBasic valittaa tossa TYPE koodissa tota STRING:ä?
Koska kun TYPE käskyllä määritetään merkkijono, pitää sille antaa myös maksimipituus.
Eli:
TYPE tkoira
nimi AS STRING * 50
ika AS INTEGER
vesikauhu AS INTEGER
END TYPE
Joo, kiitos nyt vielä. Sain sen toimimaan jälkeen kun kysyin.
Tulipa tässä muuten vielä mieleen että jos tuossa "koirien kilpa juoksu" =) koodissa olisi kyse vaikka 12:sta koirasta, niin mitenkäs sitten menetellään? Raitkaisu voi olla hyvinkin yksinkertainen, mutta itse en sitä ainakaan "hokassu".
Aihe on jo aika vanha, joten et voi enää vastata siihen.