Miten voin tallentaa taikka avata pelin CMDialogilla?
Pelaajan paikka,energia ja jne pitäisi saada tallennettua ja sitten myöhemmin taas avattua.
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.
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.
Munkin mielestä kannattaa käyttää tota antin tietuetallennusta, kätevämpää, tarvii vain yhden put/get käskyn ja... joo
Aihe on jo aika vanha, joten et voi enää vastata siihen.