new stuff
This commit is contained in:
147
untitled.p8
Normal file
147
untitled.p8
Normal file
@@ -0,0 +1,147 @@
|
||||
pico-8 cartridge // http://www.pico-8.com
|
||||
version 42
|
||||
__lua__
|
||||
function _init()
|
||||
add(entities,player:new())
|
||||
for i=0,20 do
|
||||
printh("")
|
||||
end
|
||||
end
|
||||
|
||||
function _update60()
|
||||
b=btn()
|
||||
for e in all(entities) do
|
||||
e:update()
|
||||
end
|
||||
end
|
||||
|
||||
function _draw()
|
||||
cls()
|
||||
map()
|
||||
for e in all(entities) do
|
||||
e:draw()
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
-->8
|
||||
--globals
|
||||
--global environment
|
||||
global=_ENV
|
||||
|
||||
--class
|
||||
class=setmetatable({
|
||||
new=function(_ENV,tbl)
|
||||
tbl=setmetatable(tbl or {},{
|
||||
__index=_ENV
|
||||
})
|
||||
|
||||
tbl:init()
|
||||
|
||||
return tbl
|
||||
end,
|
||||
init=function()end
|
||||
},{__index=_ENV})
|
||||
|
||||
|
||||
--entity
|
||||
entity=class:new({
|
||||
x=1,
|
||||
y=1,
|
||||
w=8,
|
||||
h=8
|
||||
})
|
||||
entities={}
|
||||
|
||||
--btn
|
||||
b=0
|
||||
|
||||
--helper functions
|
||||
function hitx(e)
|
||||
fl=0
|
||||
for x=0,e.w do
|
||||
x1,y1,y2=(e.x+x)/8,e.y/8,(e.y+e.h)/8
|
||||
fl=fl|fget(mget(x1,y1))|fget(mget(x1,y2))
|
||||
end
|
||||
return fl
|
||||
end
|
||||
|
||||
function hity(e)
|
||||
fl=0
|
||||
for y=0,e.h do
|
||||
x1,x2,y1=e.x/8,(e.x+e.w)/8,(e.y+y)/8
|
||||
fl=fl|fget(mget(x1,y1))|fget(mget(x2,y1))
|
||||
end
|
||||
return fl
|
||||
end
|
||||
-->8
|
||||
--npc
|
||||
npc=entity:new({
|
||||
spd=.5,
|
||||
s=0,--sprite
|
||||
|
||||
update=function(_ENV)
|
||||
|
||||
end,
|
||||
draw=function(_ENV)
|
||||
|
||||
spr(s,x,y)
|
||||
end
|
||||
|
||||
})
|
||||
|
||||
player=npc:new({
|
||||
x=6,
|
||||
y=6,
|
||||
s=0,
|
||||
update=function(self)
|
||||
-- hit(self)
|
||||
b=global.b
|
||||
xv,yv=0,0
|
||||
--left,right,up,down
|
||||
if ((b & 0x1)!=0) xv-=1
|
||||
if ((b&0x2)!=0) xv+=1
|
||||
if ((b&0x4)!=0) yv-=1
|
||||
if ((b&0x8)!=0) yv+=1
|
||||
if xv!=0 or yv!=0 then
|
||||
-- if (hity(player:new({y=self.y+yv}))) self.y+=yv
|
||||
-- if hit(player:new({
|
||||
-- x=self.x+xv,
|
||||
-- y=self.y+yv
|
||||
-- })) then
|
||||
-- printh("hit")
|
||||
-- else
|
||||
-- if (hitx(player:new({x=self.x+xv}))) printh("x?")
|
||||
t=player:new({x=self.x+xv,y=self.y+yv})
|
||||
fx=hitx(t) --flags x
|
||||
fy=hity(t) --flags y
|
||||
if ((fx&0x1)==0) self.x+=xv
|
||||
if ((fy&0x1)==0) self.y+=yv
|
||||
end
|
||||
end
|
||||
})
|
||||
__gfx__
|
||||
0000000088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0070070088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0007700088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0007700088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0070070088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000088888888cccccccceeeeeeee000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
__gff__
|
||||
0000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
__map__
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000200000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
Reference in New Issue
Block a user