Page 1 of 1

Tasokehitys funktioita

Posted: Thu Aug 30, 2007 9:58 pm
by jarvinen
"Kuinka teen peliini levelit?"
Ratkaisu.

cbLvl.cb

Code: Select all

Function UpdateLvl(obj)

    lvl = ObjectInteger(obj)
    xp# = ObjectFloat(obj)
   
    If xp# > 10.0 * lvl Then
        ObjectInteger obj, ObjectInteger(obj) + 1
        ObjectFloat obj, 0
    EndIf
   
    If ObjectInteger(obj) = MAXLVL Then ObjectFloat obj, 0
   
EndFunction

Function AddExp(obj, maara#)

    ObjectFloat obj, ObjectFloat(obj) + maara#
   
EndFunction

Function ObjLvl(obj)

    Return ObjectInteger(obj)
   
EndFunction

Function ObjExp(obj)

    Return ObjectFloat(obj)
   
EndFunction
Esimerkki.

Code: Select all

Const MAXLVL = 10 //Maksimileveli

Include "cbLvl.cb"

//    .:LvlLibrary:.
   
//    RPG -tyylinen tasojen toteutukseen tehty kirjasto.

//    Const MAXLVL = maksimitaso :Maksimileveli. Pakollinen

//    MaxLvl(objekti, level) :Hahmon maksimileveli. Pakollinen
//    UpdateLvl(objekti) :Päivittää levelinkehityksen. Pakollinen
//    AddExp(objekti, exp) :Lisää objektin kokemuspisteitä.
//    ObjLvl(objekti) :Palauttaa objektin levelin.
//    ObjExp(objekti) :Palauttaa objektin kokemuspistemäärän.

objHahmo = LoadObject("Media\guy.bmp")

Repeat

    UpdateLvl(objHahmo)
   
    If KeyHit(cbkeyspace) Then
        AddExp(objHahmo, 5.0)
    EndIf
   
    Text 10, 10, "Paina välilyöntä kasvattaaksesi kokemuspisteitä."
    Text 10, 20, "Taso:" + ObjLvl(objHahmo)
    Text 10, 30, "Kokemuspisteet:" + ObjExp(objHahmo)
   
    DrawScreen
Until EscapeKey()

Re: Tasokehitys funktioita

Posted: Thu Aug 30, 2007 10:09 pm
by temu92
Joillekin saattaa olla hyödyllinen, itse en näe mitään tarvetta tällaiseen. Tosin, onhan tässäkin esimerkkiä joillekin :mrgreen: jeh, kohta saadaan jotain pelejä joissa painetaan nappia et saadaa levelii :D (pitäsköhä itte tehdä)