my-basic/sample/yard/entity.bas
2017-11-20 12:43:44 +08:00

47 lines
759 B
QBasic

REM Yet Another RPG Dungeon is a text based game.
REM It's aimed to be a comprehensive example and a tutorial of MY-BASIC.
REM For more information, see https://github.com/paladin-t/my_basic/
class entity
var name = ""
var alive = true
var hp = 0
var atk = 0
var defence = 0
var dead_handler = nil
def to_string()
return "Entity [" + name + "]"
enddef
def init(_hp, _atk, _def)
hp = _hp
atk = _atk
defence = _def
enddef
def kill()
if dead_handler <> nil then
dead_handler(me)
endif
alive = false
enddef
def hurt_by(e)
p = e.atk / defence
if p <= 0 then
p = 1
endif
hp = hp - p
if hp < 0 then
hp = 0
endif
if hp = 0 then
kill()
endif
enddef
endclass