|
|
|
@ -30,21 +30,23 @@ map={}
|
|
|
|
|
rem prg start
|
|
|
|
|
genThrash(amount)
|
|
|
|
|
borderscr()
|
|
|
|
|
dbinit()
|
|
|
|
|
rem grafx loop waiting for win
|
|
|
|
|
repeat
|
|
|
|
|
' if win
|
|
|
|
|
if robx = kitx AND roby = kity then
|
|
|
|
|
win=true
|
|
|
|
|
endgame=true
|
|
|
|
|
locate linenb,1
|
|
|
|
|
print " You found kitten!"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kbctrl()
|
|
|
|
|
printobj()
|
|
|
|
|
printui()
|
|
|
|
|
printrob()
|
|
|
|
|
collscan()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
kbctrl
|
|
|
|
|
itemcolscan()
|
|
|
|
|
|
|
|
|
|
until win
|
|
|
|
|
|
|
|
|
@ -56,17 +58,18 @@ sub remtrash(x,y)
|
|
|
|
|
locate thrash[y].y,thrash[x].x
|
|
|
|
|
? " "
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sub collscan()
|
|
|
|
|
' scan if ypur om the same tile as item
|
|
|
|
|
sub itemcolscan()
|
|
|
|
|
for i = 1 to amount
|
|
|
|
|
if robx=thrash[i].x and roby=thrash[i].y then
|
|
|
|
|
locate linenb+3,2
|
|
|
|
|
print thrash[i].text
|
|
|
|
|
thrash[i].active = false
|
|
|
|
|
locate linenb+3,2
|
|
|
|
|
print thrash[i].text
|
|
|
|
|
thrash[i].onscreen = false
|
|
|
|
|
fi
|
|
|
|
|
next
|
|
|
|
|
next
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
' KEYBOARD CMD and scr bounds scan
|
|
|
|
|
sub kbctrl()
|
|
|
|
|
kb = inkey
|
|
|
|
|
' delete old rob
|
|
|
|
@ -76,16 +79,16 @@ sub kbctrl()
|
|
|
|
|
case "h"
|
|
|
|
|
if robx > 0 then
|
|
|
|
|
robx = robx-1
|
|
|
|
|
dir="x-"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
' if monstscan(dirP
|
|
|
|
|
case "j"
|
|
|
|
|
if roby < linenb then
|
|
|
|
|
roby = roby+1
|
|
|
|
|
dir="x+"
|
|
|
|
|
fi
|
|
|
|
|
case "k"
|
|
|
|
|
if roby > 0 then
|
|
|
|
|
roby = roby-1
|
|
|
|
|
roby = roby-1
|
|
|
|
|
dir="y-"
|
|
|
|
|
fi
|
|
|
|
|
case "l"
|
|
|
|
@ -94,8 +97,12 @@ sub kbctrl()
|
|
|
|
|
dir="y+"
|
|
|
|
|
fi
|
|
|
|
|
case "q"
|
|
|
|
|
' debug show all continupusly updated content on screen
|
|
|
|
|
locate 3,3
|
|
|
|
|
print "testt"
|
|
|
|
|
|
|
|
|
|
end select
|
|
|
|
|
' print again to show changes
|
|
|
|
|
printrob()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -108,6 +115,11 @@ sub printui()
|
|
|
|
|
print pl.name
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sub monscan(arg)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sub printrob()
|
|
|
|
|
locate roby,robx
|
|
|
|
|
print "@"
|
|
|
|
@ -117,20 +129,20 @@ end
|
|
|
|
|
sub printobj()
|
|
|
|
|
rem print thrash
|
|
|
|
|
for it=1 to amount
|
|
|
|
|
if thrash[it].active then
|
|
|
|
|
if thrash[it].onscreen then
|
|
|
|
|
local objx = thrash[it].x
|
|
|
|
|
local objy = thrash[it].y
|
|
|
|
|
locate objy,objx
|
|
|
|
|
print thrash[it].ch
|
|
|
|
|
else
|
|
|
|
|
' put the item in the unaccesible region of screen
|
|
|
|
|
thrash[it].x = 0
|
|
|
|
|
thrash[it].y = 0
|
|
|
|
|
fi
|
|
|
|
|
next
|
|
|
|
|
rem print kitty
|
|
|
|
|
rem and aftr print kitty
|
|
|
|
|
locate kity,kitx
|
|
|
|
|
print kitchar
|
|
|
|
|
|
|
|
|
|
print "@"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
func charget()
|
|
|
|
@ -144,36 +156,45 @@ func charget()
|
|
|
|
|
case 4
|
|
|
|
|
return "?"
|
|
|
|
|
case 5
|
|
|
|
|
return "÷"
|
|
|
|
|
return "+"
|
|
|
|
|
case 6
|
|
|
|
|
return "$"
|
|
|
|
|
end select
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
rem Items are represented by thrash
|
|
|
|
|
rem Items are represented by thrash so this func also gens items stats
|
|
|
|
|
' assisigning it to the thrash[x].obj object. which will then go as such in the pl inv
|
|
|
|
|
sub genthrash(amount)
|
|
|
|
|
for index = 1 to amount
|
|
|
|
|
local tx = fix(rnd*colnb)
|
|
|
|
|
local ty = fix(rnd*linenb)
|
|
|
|
|
thrash[index].obj = weap.knife
|
|
|
|
|
itnam=thrash[index].obj.name
|
|
|
|
|
thrash[index].x = tx
|
|
|
|
|
thrash[index].y = ty
|
|
|
|
|
thrash[index].ch = charget
|
|
|
|
|
thrash[index].text = "lazy"
|
|
|
|
|
thrash[index].active = true
|
|
|
|
|
rem thrash[index].item = get
|
|
|
|
|
thrash[index].ch = charge
|
|
|
|
|
thrash[index].text = itnam
|
|
|
|
|
thrash[index].onscreen = true
|
|
|
|
|
next
|
|
|
|
|
|
|
|
|
|
func genitem()
|
|
|
|
|
local proto={}
|
|
|
|
|
proto = weap.knife
|
|
|
|
|
return proto
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
func textget()
|
|
|
|
|
r = rnd()*len(dict)
|
|
|
|
|
return 'placeholder'
|
|
|
|
|
func dbinit()
|
|
|
|
|
' tload weapdb.dat, byref weap
|
|
|
|
|
weap={}
|
|
|
|
|
weap.knife = {name:knife,dmg:3}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sub borderscr()
|
|
|
|
|
cls
|
|
|
|
|
for i = 0 to linenb+1
|
|
|
|
|
locate i+1,colnb+1
|
|
|
|
|
? "X"
|
|
|
|
|
? "#"
|
|
|
|
|
for i2 = 0 to colnb+1
|
|
|
|
|
locate linenb+1,i2
|
|
|
|
|
print "X"
|
|
|
|
@ -183,6 +204,13 @@ end
|
|
|
|
|
|
|
|
|
|
func genmob(lvl)
|
|
|
|
|
for i = 0 to amob
|
|
|
|
|
pmob[i] = {hp:30,name:jello}
|
|
|
|
|
pmob[i] = {dmg:2,hpx:30}
|
|
|
|
|
pmob[i] = {hp:
|
|
|
|
|
30,name:jello}
|
|
|
|
|
pmob[i].x = fix(rnd*colnb)
|
|
|
|
|
pmob[i].y =fix(rnd*linenb)
|
|
|
|
|
pmob[i].alive = true
|
|
|
|
|
pmob[i].onscreen = true
|
|
|
|
|
next
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|