Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Pelin tallenus ja avaus(vb)

tuomas [02.01.2004 11:48:27]

#

Miten voin tallentaa taikka avata pelin CMDialogilla?
Pelaajan paikka,energia ja jne pitäisi saada tallennettua ja sitten myöhemmin taas avattua.

Teme [02.01.2004 12:12:13]

#

Noo, laitat tiedostoon joitakin tämäntapaisia tietoja:
1. Pelaajan nimi tarvittaessa
2. Pelaajan koordinaatit
3. Energia
4. Mahdollinen kenttä/taso

Tiedostoon ne voisi mennä jotenki näin:
Kerttu, 6737, 3457, 34, 1

<Pelaajan nimi>, <X-koordinaatti>, <Y-koordinaatti>, <Energia>, <Kenttä/Taso>

Sitten luet ne sieltä jotenkin näin:

Dim Seivi As String
Open App.Path & "\save.txt" For Input As #1
Input #1, Seivi
Close #1

Tee pelin kanssa samaan hakemistoon tiedosto save.txt, ja sinne niitä tallennustietoja.
Sitten vaan parsit sen merkkijonon osiin ja vaihdat niitä juttuja niiden mukaan.

Antti Laaksonen [02.01.2004 13:58:18]

#

Kannattaa käyttää binäärimuotoista tiedostoa tällaisten tietojen tallentamiseen. Esim. Integer-tyyppinen luku 12345 vie nyt vain 2 tavua tilaa tiedostossa, kun rivitiedostoon tallennettuna se veisi 7 tavua tilaa (5 merkkiä + rivinvaihto).

'tallentaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Put #1, , Paikka
Put #1, , Energia
Put #1, , Jne
Close #1

'lataaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Get #1, , Paikka
Get #1, , Energia
Get #1, , Jne
Close #1

Kokonaisia tietueita (ja taulukoita) voi helposti tallentaa ja ladata tällä tavalla.

Type TPELAAJA
    Dim Paikka As Integer
    Dim Energia As Integer
    Dim Jne As Integer
End Type

Dim Pelaaja As TPELAAJA

. . .

'tallentaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Put #1, , Pelaaja
Close #1

'lataaminen
Open App.Path & "\tallennus.txt" For Binary As #1
Get #1, , Pelaaja
Close #1

CMDialogin käyttämisestä löytyy monta esimerkkiä haulla.

sooda [02.01.2004 14:01:05]

#

Munkin mielestä kannattaa käyttää tota antin tietuetallennusta, kätevämpää, tarvii vain yhden put/get käskyn ja... joo

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta