kuinka tehdä HI Score lista
-
- Advanced Member
- Posts: 281
- Joined: Sat Jun 28, 2008 5:19 pm
- Location: Hämeessä miä
kuinka tehdä HI Score lista
moe
nyt kysynkin varmaan yhtä itsestään selvyyttä miten tehdä HI Score-lista?
Älkää luulko ihan noviseks oon koodannu jo kaks vuotta mut en oo ennen tarvinnu HI Scoreja kun ollaa kavereiden kaa pelattu yhel koneel(koulun)
nyt kysynkin varmaan yhtä itsestään selvyyttä miten tehdä HI Score-lista?
Älkää luulko ihan noviseks oon koodannu jo kaks vuotta mut en oo ennen tarvinnu HI Scoreja kun ollaa kavereiden kaa pelattu yhel koneel(koulun)
- Sami The Great
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 4:15 pm
- Contact:
Re: kuinka tehdä HI Score lista
Tee kaksi taulukkoa, joista toinen sisältää nimet ja toinen pisteet. Lataa taulukkoon For next lopissa tiedot tiedostosta. Ei pitäisi olla vaikeaa jos on koodaillut jo 2 v. Ja taulukosta sitten luet tiedot ja tulostat ne.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
CoolBasickin käyttäjä vuodesta 2004.
-
- Forum Veteran
- Posts: 2396
- Joined: Tue Aug 28, 2007 4:20 pm
Re: kuinka tehdä HI Score lista
Itse olen tälleen toteuttanut: Pelaaja on saanut tuloksen, luetaan tiedostosta ennätykset taulukkoon, ja katsotaan mille sijalle pelaaja pääsisi, vai pääsisikö ollenkaan koko listalle. Sitten jos hän pääsee, työnnetään sillä sijalla äsken ollutta ja sitä huonompia ennätyksiä pykälä alaspäin (taulukossa), ja viimeinen poistetaan kokonaan. Sitten vain tulostetaan se.
-
- Advanced Member
- Posts: 281
- Joined: Sat Jun 28, 2008 5:19 pm
- Location: Hämeessä miä
Re: kuinka tehdä HI Score lista
mä en oo ennen tehny mitään taulukoiden kaa oon käyttäny aina tyyppejä......
Re: kuinka tehdä HI Score lista
Tässä tälläinen pieni esimerkki Taulukoilla miten sen voi helposti toteuttaa:
Code: Select all
Dim Name(5) As String//Taulukko nimille.
Dim Score(5)//Taulukko pisteille.
For n=1 To 5
Name(n)="Player "+n
score(n)=100-n
Next n
For i=1 To 5
AddText i+". "+Name(i)+" Score: "+Score(i)//Tulostetaan lista
Next i
DrawScreen
WaitKey
Re: kuinka tehdä HI Score lista
löysin ton koodi,hakua käyttämällä
mutten saa sitä toimimaan kunnolla
olen muokannut sitä niin että se kysyy pelaajan nimeä ja pisteetkin olen saanut,mutta siihen se tyssäsi
nimittäin sitten se syöltää 5 kertaa pelaajan nimen ja pisteet,muista pisteistä riippumatta
ja nyt kysyn että voisiiko joku kertoa miten tuo highscore listaoikein tehdään,en osaa käyttää taulukoita
mutten saa sitä toimimaan kunnolla
olen muokannut sitä niin että se kysyy pelaajan nimeä ja pisteetkin olen saanut,mutta siihen se tyssäsi
nimittäin sitten se syöltää 5 kertaa pelaajan nimen ja pisteet,muista pisteistä riippumatta
ja nyt kysyn että voisiiko joku kertoa miten tuo highscore listaoikein tehdään,en osaa käyttää taulukoita
Re: kuinka tehdä HI Score lista
sori tupla postaus
tässä olisi koodi:
jos yhtään selventää
tässä olisi koodi:
Code: Select all
Dim Name(5) As String//Taulukko nimille.
Dim Score(5)//Taulukko pisteille.
Text 0,10,"anna nimesi"
Repeat
m$=Input(">>")
Text 0,20,m$
DrawScreen
Until KeyHit(cbkeyreturn)
For n=1 To 5
Name(n)=m$
score(n)=0+pisteet
Next n
For i=1 To 5
AddText i+". "+Name(i)+" Score: "+Score(i)//Tulostetaan lista
Next i
Repeat
DrawScreen
Forever
Re: kuinka tehdä HI Score lista
Itse olen tehnyt sen sillä tavalla, että olen luonut kaksi taulukkoa toiseen pelaajan nimi ja toiseen pisteet. Sitten pelin alkaessa olen lukenut tiedostosta taulukoihin pisteet ja nimet. Pelin ollessa päällä en ole highscore tiedostoa sörkkinyt vaan käyttänyt taulukojen tietoja ja muokannut niitä tarpeen mukaan. Sitten kun pelaaja lopettaa niin tallennan taas taulukon tiedot tekstitiedostoon odottamaan seuraavaa pelikertaa:)
Tässä joitain otteita highscoreistani yhdessä pelissä:
Tässä joitain otteita highscoreistani yhdessä pelissä:
Code: Select all
If FileSize("highscores.dat") = 0 Or FileExists("highscores.dat")=0 Then //jos peliä ei ole ennen avattu eli siis highscore tiedostoa ei ole olemassa
f=OpenToWrite("highscores.dat")
For i = 1 To 10
WriteLine f,0
WriteLine f,"-empty-"
Next i
CloseFile f
EndIf
/////////////////////////////////////////////////
Dim scoret(10) // tähän tallennan highsxoret
Dim scoret_nimet(10) As String
f = OpenToEdit("highscores.dat")
For i = 1 To 10
scoret(i) = Int(ReadLine(f))
scoret_nimet(i) = ReadLine(f)
Next i
CloseFile f
//////////////////////////////////////////
//muutama funktio joilla käsittelin scoreja
Function SetHighscores(nimi$,pisteet) //selailee taulukosta että yltääkö pisteet mihin väliin scoreissa
If pisteet > scoret(10) Then
For i = 1 To 10
If pisteet > scoret(i) Then
scoret(10) = 0
For a = 9 To i Step -1
scoret(a+1) = scoret(a)
scoret_nimet(a+1) = scoret_nimet(a)
Next a
scoret(i) = pisteet
scoret_nimet(i) = nimi
Return 1
EndIf
Next i
EndIf
EndFunction
Function SaveHighScores() //tallentaa pisteet
f = OpenToEdit ("highscores.dat")
For i = 1 To 10
WriteLine f,scoret(i)
WriteLine f,scoret_nimet(i)
Next i
CloseFile f
Return 1
EndFunction
Function ResetHighScores() //tyhjentää kaikki entiset pisteet ja tuhoaa highscore tiedoston
For i = 1 To 10
scoret(i) = 0
scoret_nimet(i)= "-empty-"
Next i
DeleteFile "highscores.dat"
Return 1
EndFunction
Re: kuinka tehdä HI Score lista
ja kun jotku pisteet ja pääsee highscore listalle niin läpi käydään pisteet että jos on vähemmän niin luetaan sit seuraava ja niin edelleen?