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
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()