Includetus muuttujaa käyttäen

Voit pyytää apua ohjelmointiongelmiin täältä.
Post Reply
Sepi
Member
Posts: 84
Joined: Thu Jun 05, 2008 1:38 pm

Includetus muuttujaa käyttäen

Post by Sepi » Sun Oct 18, 2009 11:07 pm

Elikkä ongelma on se kun include-funktio ei suostu toimimaan jos siinä käyttää muuttujia:

Code: Select all

teksti$="kikkeli.txt"
include kikkeli$
Eli tuohon tyyliin. Se ei edes herjaa mitään vaan jättää vain includettamatta sen. Mitähän tuohon keksis?

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Includetus muuttujaa käyttäen

Post by koodaaja » Sun Oct 18, 2009 11:14 pm

Esikääntäjä käsittelee includet, se ei katsele muuttujia. Muutenkaan muuttuvasta includesta ei ole hyötyä, se tiedosto includetaan mikä siihen on kääntämishetkellä kirjoitettu.

Subit ja funktiot ovat ohjelmassa hyppimistä varten.

User avatar
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Includetus muuttujaa käyttäen

Post by phons » Sun Oct 18, 2009 11:23 pm

Oikeastaan ongelma on se että sinulla on muttuja teksti$ jossa on tuo "kikkeli.txt" arvona, mutta includessa käytät muuttujaa kikkeli$, jonka arvo onkin 0.

Edit: Äsh, niinpä tietenkin...
Last edited by phons on Sun Oct 18, 2009 11:50 pm, edited 1 time in total.
Image

Sepi2

Re: Includetus muuttujaa käyttäen

Post by Sepi2 » Sun Oct 18, 2009 11:27 pm

Nojoo Phons, ajatusmoka tuossa kirjotusvaiheessa. Koodaaja, onko vinkkejä millä saisi kansion kaikki tiedostot sulautettua ohjelmaan jokaisella käynnistyskerralla? Tarkoitus olisi siis että tässä tapauksessa rotuja pystyisi lisäämään näillä tekstitiedostoilla.

User avatar
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Includetus muuttujaa käyttäen

Post by koodaaja » Sun Oct 18, 2009 11:36 pm

Sinun pitää tehdä joku tiedostoformaatti rotua varten ja käyttää sitä, koodia ei voi kääntämisen jälkeen upottaa ohjelmaan. (no joo, onhan sekin mahdollista mutta sen verran HC-tason kikkailua että ei maksa vaivaa)

Itse lähtisin miettimällä, mitä ominaisuuksia rotu tarvitsee. Esimerkiksi minimi- ja maksimipaino, -pituus ja -ikä sekä käytettävän kuvan (tai kuvien) polku (/polut). Teet listan näistä luvuista ja ohjelman, jolla saat ne kirjoitettua järjestyksessä tiedostoon, siis rotueditorin. Niinkin yksinkertainen ohjelma riittää, että se kyselee arvoja jotka kirjoitetaan ruudulle ja kopioidaan siitä tiedostoon. Sitten teet ohjelmaan vastakappaleen tälle editorille, joka siis lukee näitä tiedostoja, ja woah, siinä on helposti modattava rotusysteemi.

Jos oikein haluat fiinistellä, voit ottaa vielä oman tiedostopäätteen (.race tai .rac, esimerkiksi) ja käydä kaikki ohjelmasi kansiosta (tai, mieluummin, jostain alakansiosta) löytyvät rotutiedostot loopissa läpi ja tehdä niiden pohjalta roduista typen, jolloin peliin on äärimmäisen helppo jälkikäteenkin lisäillä/muokata rotuja, senkun iskee uuden tiedoston kansioon. Vaatii työtä, mutta on varmasti sen arvoista.

User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Includetus muuttujaa käyttäen

Post by Jonez » Sun Oct 18, 2009 11:39 pm

Eli jotenkin näin: (postaan taas vaikka koodaaja ehti ensin)

Code: Select all

f = OpenToWrite( "ukkelit.txt" )
    WriteLine f, "Ukko1"
    WriteInt f, 10
    WriteLine f, "Ukko2"
    WriteInt f, 12
    WriteLine f, "Ukko3"
    WriteInt f, 8    
CloseFile f

Dim ukot( 2, 1 ) As String

f = OpenToRead( "ukkelit.txt" )
    While Not EOF( f)
        
        ukot( row, 0 ) = ReadLine( f )
        ukot( row, 1 ) = ReadInt( f )  
        
        row + 1        
        
    Wend

CloseFile f

For i = 0 To 2
    Print "Nimi: " + ukot( i, 0 )
    Print "Voima: " + ukot( i, 1 )
    Print ""
Next i
WaitKey
Kannattaa käyttää vain ReadLine-funkkaria, jos tekstitiedostoja voi editoida käsin. Tiedoston lukeminen on aika virheherkkää.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War

Post Reply