|
|
|
@ -1,23 +1,29 @@
|
|
|
|
|
REM SmallBASIC
|
|
|
|
|
REM ROBOT FINDS KITTEN
|
|
|
|
|
REM Small RL game forked of my Robotfindskitten game
|
|
|
|
|
REM BY ASCIIBENEFACTOR
|
|
|
|
|
rem
|
|
|
|
|
rem unfinished !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REM GET DICT FILE WITH ITEM NAMES
|
|
|
|
|
|
|
|
|
|
' x:28,y14
|
|
|
|
|
linenb=10
|
|
|
|
|
colnb=20
|
|
|
|
|
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={}
|
|
|
|
|
|
|
|
|
@ -28,6 +34,7 @@ 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
|
|
|
|
@ -36,11 +43,8 @@ repeat
|
|
|
|
|
printrob()
|
|
|
|
|
collscan()
|
|
|
|
|
|
|
|
|
|
if inkey = nil then
|
|
|
|
|
delay 10
|
|
|
|
|
else
|
|
|
|
|
|
|
|
|
|
kbctrl
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
until win
|
|
|
|
|
|
|
|
|
@ -48,8 +52,8 @@ until win
|
|
|
|
|
REM ======FUNCTION SPACE =========-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sub remtrash(nb,x,y)
|
|
|
|
|
locate thrash[y].x,thrash[x].x
|
|
|
|
|
sub remtrash(x,y)
|
|
|
|
|
locate thrash[y].y,thrash[x].x
|
|
|
|
|
? " "
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -90,16 +94,18 @@ sub kbctrl()
|
|
|
|
|
dir="y+"
|
|
|
|
|
fi
|
|
|
|
|
case "q"
|
|
|
|
|
break
|
|
|
|
|
print "testt"
|
|
|
|
|
end select
|
|
|
|
|
printrob()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sub printui()
|
|
|
|
|
locate linenb+1,1
|
|
|
|
|
print "Robot finds kitten"
|
|
|
|
|
locate linenb+2,6
|
|
|
|
|
print "score:"+score
|
|
|
|
|
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()
|
|
|
|
@ -116,15 +122,19 @@ sub printobj()
|
|
|
|
|
local objy = thrash[it].y
|
|
|
|
|
locate objy,objx
|
|
|
|
|
print thrash[it].ch
|
|
|
|
|
fi
|
|
|
|
|
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*4)
|
|
|
|
|
select case fix(rnd*6)
|
|
|
|
|
case 1
|
|
|
|
|
return "&"
|
|
|
|
|
case 2
|
|
|
|
@ -133,9 +143,14 @@ func charget()
|
|
|
|
|
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)
|
|
|
|
@ -145,6 +160,7 @@ sub genthrash(amount)
|
|
|
|
|
thrash[index].ch = charget
|
|
|
|
|
thrash[index].text = "lazy"
|
|
|
|
|
thrash[index].active = true
|
|
|
|
|
rem thrash[index].item = get
|
|
|
|
|
next
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -156,11 +172,17 @@ end
|
|
|
|
|
sub borderscr()
|
|
|
|
|
cls
|
|
|
|
|
for i = 0 to linenb+1
|
|
|
|
|
locate i,colnb+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
|