added inventory

master
ascii benefactor 1 year ago
parent 3b19e00caa
commit 1e897d0ee0
  1. 129
      findthrash.bas

@ -9,18 +9,16 @@ REM GET DICT FILE WITH ITEM NAMES
' x:28,y14
linenb=10
colnb=18
statln=linenb+3
win=false
score=0
pl={hp:30,hpx:30,name:"testacles",
dmg:3}
dmg:3,nextinv:1}
mob={}
robx=fix(rnd*colnb)
roby=fix(rnd*linenb)
kitx=fix(rnd*colnb)
kity=fix(rnd*linenb)
kitchar = charget
' amount mob
amob = 7
amob = 2
' amount thrash (items)
amount = 5
endgame=false
@ -28,47 +26,56 @@ thrash = array("{0:{}}")
map={}
rem prg start
genThrash(amount)
borderscr()
label start
dbinit()
genThrash(amount)
' mob = genmob(1)
rem grafx loop waiting for win
borderscr()
repeat
' if win
if robx = kitx AND roby = kity then
win=true
' if dead
if pl.hp =< 0 then
win=false
endgame=true
locate linenb,1
print " You found kitten!"
print " You died"
fi
itemcolscan()
kbctrl()
printobj()
' printmob()
printui()
printrob()
itemcolscan()
until win
until endgame
REM ======FUNCTION SPACE =========-
sub remtrash(x,y)
locate thrash[y].y,thrash[x].x
? " "
end
' scan if ypur om the same tile as item
' scan if your on 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].onscreen = false
fi
next
for iscan = 0 to amount
if robx=thrash[iscan].x and roby=thrash[iscan].y then
' if @ is on item note item num
locate linenb+3,2
print thrash[iscan].name
onitem=iscan
fi
next
end
sub takeitem()
locate statln,1
print "you take "
thrash[onitem].onscreen=false
inv[pl.nextinv] =thrash[onitem].obj
pl.nextinv = pl.nextinv + 1
end
' KEYBOARD CMD and scr bounds scan
sub kbctrl()
kb = inkey
@ -97,13 +104,16 @@ sub kbctrl()
dir="y+"
fi
case "q"
' debug show all continupusly updated content on screen
cls
locate 3,3
print "testt"
print "buyyyyyye"
stop
case "p"
printinfo()
case "t"
takeitem()
end select
' print again to show changes
printrob()
end
sub printui()
@ -111,21 +121,22 @@ sub printui()
print "HP: "+pl.hp
locate linenb+2,8
? "dmg"+pl.dmg
' status bar 1
locate linenb+3,1
print pl.name
end
sub monscan(arg)
print "~~~~~~~~~~~~~~~~~~"
' status bar 2 is inside the bottom wall... so linenb+1
end
sub printrob()
locate roby,robx
print "@"
sub printmob()
for i=1 to amob
my = mob[i].y
mx = mob[i].x
locate my,mx
print mob[i].ch
next
end
sub printobj()
rem print thrash
for it=1 to amount
@ -140,9 +151,8 @@ sub printobj()
thrash[it].y = 0
fi
next
rem and aftr print kitty
locate kity,kitx
print "@"
locate roby,robx
print "@"
end
func charget()
@ -168,17 +178,19 @@ sub genthrash(amount)
for index = 1 to amount
local tx = fix(rnd*colnb)
local ty = fix(rnd*linenb)
thrash[index].name = "def"
thrash[index].obj = weap.knife
itnam=thrash[index].obj.name
thrash[index].x = tx
thrash[index].y = ty
thrash[index].ch = charge
thrash[index].text = itnam
thrash[index].onscreen = true
thrash[index].ch = charget
thrash[index].text = "testtext"
thrash[index].onscreen = true
thrash[index].take = false
next
' proto represents the base item
' before stat mod from algory
func genitem()
local proto={}
proto={}
proto = weap.knife
return proto
end
@ -188,6 +200,7 @@ func dbinit()
' tload weapdb.dat, byref weap
weap={}
weap.knife = {name:knife,dmg:3}
inv={}
end
sub borderscr()
@ -203,7 +216,8 @@ next
end
func genmob(lvl)
for i = 0 to amob
for i = 1 to amob
pmob={}
pmob[i] = {dmg:2,hpx:30}
pmob[i] = {hp:
30,name:jello}
@ -211,6 +225,17 @@ func genmob(lvl)
pmob[i].y =fix(rnd*linenb)
pmob[i].alive = true
pmob[i].onscreen = true
pmob[i].ch="!"
next
return pmob
end
sub printinfo()
cls
repeat
locate 3,3
print inv
until inkey == "v"
stop
end

Loading…
Cancel
Save