REM SmallBASIC REM Small RL game forked of my Robotfindskitten game REM BY ASCIIBENEFACTOR rem unfinished ! REM GET DICT FILE WITH ITEM NAMES ' x:28,y14 linenb=10 colnb=18 win=false score=0 pl={hp:30,hpx:30,name:"testacles", dmg:3} mob={} robx=fix(rnd*colnb) roby=fix(rnd*linenb) kitx=fix(rnd*colnb) kity=fix(rnd*linenb) kitchar = charget ' amount mob amob = 7 ' amount thrash (items) amount = 5 endgame=false thrash = array("{0:{}}") map={} rem prg start genThrash(amount) borderscr() rem grafx loop waiting for win repeat if robx = kitx AND roby = kity then win=true endgame=true locate linenb,1 print " You found kitten!" fi printobj() printui() printrob() collscan() kbctrl until win REM ======FUNCTION SPACE =========- sub remtrash(x,y) locate thrash[y].y,thrash[x].x ? " " end sub collscan() 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 fi next end sub kbctrl() kb = inkey ' delete old rob locate roby,robx ? " " select case kb case "h" if robx > 0 then robx = robx-1 dir="x-" fi case "j" if roby < linenb then roby = roby+1 dir="x+" fi case "k" if roby > 0 then roby = roby-1 dir="y-" fi case "l" if robx < colnb then robx = robx+1 dir="y+" fi case "q" print "testt" end select printrob() end sub printui() locate linenb+2,1 print "HP: "+pl.hp locate linenb+2,8 ? "dmg"+pl.dmg locate linenb+3,1 print pl.name end sub printrob() locate roby,robx print "@" end sub printobj() rem print thrash for it=1 to amount if thrash[it].active then local objx = thrash[it].x local objy = thrash[it].y locate objy,objx print thrash[it].ch else thrash[it].x = 0 thrash[it].y = 0 fi next rem print kitty locate kity,kitx print kitchar end func charget() select case fix(rnd*6) case 1 return "&" case 2 return "%" case 3 return "#" case 4 return "?" case 5 return "÷" case 6 return "$" end select end rem Items are represented by thrash sub genthrash(amount) for index = 1 to amount local tx = fix(rnd*colnb) local ty = fix(rnd*linenb) 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 next end func textget() r = rnd()*len(dict) return 'placeholder' 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" next next end func genmob(lvl) for i = 0 to amob pmob[i] = {hp:30,name:jello} next end